Laravel文档建议以下方法来建立一个雄辩的模型:
$user = user::with($conditions)->first();
如果我想在模型本身中设置我的eloquent模型:
$user = new user();
$user->setup($conditions);
// class definition
class user extends Eloquent{
public function setup($conditions){
// load current object with table data
// something like
$this->where($conditions)->first();
// previous line output is dangling, is ok to assign it to $this variable?
}
}
如果您正在扩展Eloquent模型,您可以尝试以下方法。我假设您有一个唯一的id
列。
public function setup($conditions)
{
$model = self::with($conditions)->first();
if (! is_null($model)) {
$this->exists = true;
$this->forceFill(self::find($model->id)->toArray());
}
return $this;
}
希望这能解决你的问题