1、查询
1.1 检索所有模型 $users=User::all();
1.2 通过主键检索记录 $user=User::find(1);var_dump($user->name);
1.3通过主键检索模型或抛出异常
有时,如果找不到模型,您可能希望抛出异常,允许您使用处理程序捕获异常并显示404页面。App::error
$model=User::findOrFail(1);$model=User::where('votes','>',100)->firstOrFail();
要注册错误处理程序,请监听 ModelNotFoundException
useIlluminate\Database\Eloquent\ModelNotFoundException;
App::error(function(ModelNotFoundException$e){returnResponse::make('Not Found',404);});
1.4$users=User::where('votes','>',100)->take(10)->get();
2、更新
2.1 要更新模型,您可以检索它,更改属性并使用该save方法:
$user=User::find(1);$user->email='john@foo.com';$user->save();
2.2对一组模型运行更新作为查询:
$affectedRows=User::where('votes','>',100)->update(array('status'=>2));
3、插入
3.1 创建一个新的模型实例并调用该save方法:
$user=newUser;
$user->name='John';
$user->save();
3.2 使用模型创建方法
$user=User::create(array('name'=>'John'));
$user=User::firstOrCreate(array('name'=>'John'));
$user=User::firstOrNew(array('name'=>'John'));
4、删除
4.1 只需delete在实例上调用方法:
$user=User::find(1);$user->delete();
4.2 在一组模型上运行删除查询:
$affectedRows=User::where('votes','>',100)->delete();
5、软删除
5.1 要为模型启用软删除,请将SoftDeletingTrait其应用于模型:
useIlluminate\Database\Eloquent\SoftDeletingTrait;
class User extends Eloquent
{
use SoftDeletingTrait;
protected$dates=['deleted_at'];
}
5.2 使用softDeletes迁移中的方法:
$table->softDeletes();
6.软删除结果查询
6.1 强制软删除的模型出现在结果集中,使用withTrashed查询中的方法:
$users=User::withTrashed()->where('account_id',1)->get();
6.2 仅在结果中收到软删除的模型,可以使用以下onlyTrashed方法:
$users=User::onlyTrashed()->where('account_id',1)->get();
6.3 将软删除的模型恢复为活动状态,请使用以下restore方法:
$user->restore();
6.4 您希望真正从数据库中删除模型,可以使用以下forceDelete方法:
$user->forceDelete();
7、转为JSON/数组
7.1 要将模型及其加载的关系转换为数组,您可以使用以下toArray方法:
$user=User::with('roles')->first(); return $user->toArray();
7.2 整个模型集合也可以转换为数组:
return User::all()->toArray();
7.3 要将模型转换为JSON,您可以使用以下toJson方法:
returnUser::find(1)->toJson();
7.4 隐藏数组或JSON转换的属性
有时您可能希望限制模型的数组或JSON表单中包含的属性,例如密码。为此,请hidden向模型添加属性定义:
class User extends Eloquent
{
protected $hidden=array('password');
}
7.5 使用该visible属性来定义白名单:
protected $visible = array('first_name','last_name');
