早上好,这是我的模型:一个基督徒可以有很多职位。一个职位可以属于许多人。邮局属于许多部门。一个部门有许多职位。克雷蒂安
sf6xfgos1#
-部门0..* 0..* 1..**0.. *我怎样才能找回这样的模型?
John DOE --------------------------------------- |**Postes** |**Departements**| --------------------------------------- |Pianist | Musical Group | --------------------------------------- | Secretary Curch | council | --------------------------------------- |Wedding Planer | Organizatin Comite|
sxpgvts32#
当作为属性访问有说服力的关系时,关系数据是“延迟加载的”。这意味着在您首次访问属性之前,关系数据不会被实际加载。但是,雄辩者可以在查询父模型时“急切地加载”关系。急于加载减轻了n+1查询问题。为了说明n+1查询问题,请考虑与poste相关的chretien模型:
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Poste extends Model { /** * Get the chretien that wrote the poste. */ public function chretien() { return $this->belongsTo('App\Chretien'); } }
现在,让我们找回所有的克雷蒂安和他们的职位:
$chretiens = App\Chretien::with('postes')->get(); foreach ($chretiens as $chretien) { echo $chretien->postes->name; }
对于此操作,将只执行两个查询:
select * from chretiens select * from postes where id in (1, 2, 3, 4, 5, ...)
嵌套急加载要加载嵌套关系,可以使用“点”语法。例如,让我们在一个雄辩的语句中加载所有的poste和department:
$chretiens = App\Chretien::with('postes.departaments')->get();
lkaoscv73#
-邮政
3条答案
按热度按时间sf6xfgos1#
-部门
0..* 0..* 1..**0.. *
我怎样才能找回这样的模型?
sxpgvts32#
当作为属性访问有说服力的关系时,关系数据是“延迟加载的”。这意味着在您首次访问属性之前,关系数据不会被实际加载。但是,雄辩者可以在查询父模型时“急切地加载”关系。急于加载减轻了n+1查询问题。为了说明n+1查询问题,请考虑与poste相关的chretien模型:
现在,让我们找回所有的克雷蒂安和他们的职位:
对于此操作,将只执行两个查询:
嵌套急加载
要加载嵌套关系,可以使用“点”语法。例如,让我们在一个雄辩的语句中加载所有的poste和department:
lkaoscv73#
-邮政