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();
});
四、数据的增删改
-
增
直接添加数据
public function userAdd(){ $this->username='lisi'; $this->age=13; $this->save(); }
使用数组添加数据
public function userAdd(){ $data=['username'=>'撒媳妇','age'=>100]; $this->fill($data);//填充数据 $this->save(); }
-
删
单条删除:
public function userDelete(){ $users=$this->find(10); $users->delete(); }
批量删除:
public function userDelete(){ $users=$this->where('age','<',30); $users->delete(); }
-
改
单条修改:
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