with 的具体用途
例如: techer hasMany students
我希望 find teacher 时,students 作为属性 techer->students 即可立即使用,而不需要额外的 sql 语句。
看了一下 with 的用法,貌似不能达成这个目标。
补充:使用 $techer->students 是否会执行 sql 语句,或者是 eagar loading 早执行过了,谢谢。
新人,问得唐突。
关于 LearnKu
在你teacher的model里写一个获得学生的方法。
public function student()
{
return $this->hasMany('studentModal', '关联字段');
}
$teacher::with('student')->get();
$techer->students 。 当 teacher 中定义了相应的关联关系方法,且 teacher 模型未加载该关联关系时才会去执行 sql 语句。
所以 with 可以满足你的需求
简单来说 with 是用来解决 n+1 的问题的,也就是 eager loading