我们有两个模型和方法历史:雄辩模型访问的方法调用关系数据
class Employment_request extends Model {
protected $table = 'employment_requests';
// some code here
public function history(){
return $this->hasMany('App\Employment_history');
}
}
class Employment_history extends Model {
protected $table = 'employment_history';
// some code
}
让Employment_request的创建实例:
$r = Employment_request::find(28)
在这种情况下,方法的历史数据请求时, Employment_request的实例已创建。不是吗?
- 对象需要更多的内存
- 需要更多的时间来创建它
- 访问对象创建的心不是后加历史数据
,因为当我添加新的历史纪录:
Employment_history::create([
'user_id' => 17,
'employment_request_id' => 28,
'change' => '? Stefanka'
]);
和呼叫方法:
$r->history;
一个新的记录没有与集合返回,但重新创建对象后它是。 但是,当我打电话:
$r->history()->get()
我不需要重新创建,以获得新的数据。
它是如何工作的? 在修补程序控制台中测试。
'在这种情况下,在创建Employment_request实例时请求方法历史数据。不是吗?',只有当你打电话给'历史记录'时才能使用; –
Lets countinue ... –
添加的结果... –