Eloquent基础用法

2016-10-31  本文已影响0人  GQ1994

Eloquent基础用法

一、创建usermodel

执行命令:

 php artisan make:model user

二、app目录下出现User.php

<?php

namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $primaryKey='user_id';//设置主键为"user_id",默认为"id"
    protected $guarded = ['user_id'];//设置user_id字段不可以被重写

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [//执行查询不会显示的字段
        'password', 'remember_token',
    ];
    public function userTest(){
//        return $this->find(5);//查找主键为“5”的数据,不存在返回空
//        return $this->findOrFail(5);//查找主键为“5”的数据,不存在会报错
//        return $this->where('username','郭庆')->get();//查找用户名为郭庆的数据
//        return $this->where('user_id','>','1')->get();//查找id大于1的数据

    }
}

三、在入口文件调用

Route::get('mysql',function(){
   $user=new App\User();
    return $user->userTest();
});

四、数据的增删改

  1. 直接添加数据

     public function userAdd(){
         $this->username='lisi';
         $this->age=13;
         $this->save();
     }
    

    使用数组添加数据

      public function userAdd(){
           $data=['username'=>'撒媳妇','age'=>100];
           $this->fill($data);//填充数据
           $this->save();
       }
    
  2. 单条删除:

     public function userDelete(){
           $users=$this->find(10);
           $users->delete();
     }
    

    批量删除:

     public function userDelete(){
             $users=$this->where('age','<',30);
             $users->delete();
         }
    
  3. 单条修改:

     public function userUpdate(){
             $user=$this->find(5);
             $user->username='sb';
             $user->age=29;
             $user->save();
         }
    

    批量修改:

     public function userUpdate(){
             $users=$this->where('age','<',30);
             $users->update(['username'=>'小屁孩']);
         }
    

五、集合

$arr=['one'=>1,2,3,4,5];
$collection=collect($arr);
$r=$collection->contains('one');//判断是否有这个值
$r=$collection->has('one');//判断是否有这个键
$r=$collection->take(2);//取出前俩个值
$r=$collection->take(-2);//取出后俩个值    
return $r?'有':'没有';

其余方法参见手册:
https://laravel.com/docs/5.3/collections

上一篇下一篇

猜你喜欢

热点阅读