1、with('relation'),只预加载relation这个关联,如下面
public function relation() {
return $this->hasOne(Relation::class);
}
2、with(['relation', 'relation.relation1']),预加载relation以及,和relation关联的relation1
这种场景是Relation类中还定义了一个关联relation1
class Relation
{
public function relation1() {
return $this->hasOne(Relation1::class);
}
}
这样一来,一个with就把当前模型的关联relation以及relation的下级关联relation1查询出来了,
这对hasMany这种关联特别有好处,如果hasMany这种不使用预加载的话,每访问一次就会查询一次,而不是一次把多条关联数据查询出来。
测试:
数据库:两个表,一个是relation表,只有id字段;另一个是relation1表,除了id之外,还有关联relati