【发布时间】:2014-12-07 13:51:51
【问题描述】:
我有两张桌子:assets 和 asset_classifications。这些表是一对多的关系,asset 有一个资产分类,asset_classifications 有很多资产。
例如,我正在尝试运行查询以获取所有 asset_classification 名称为“laptops”的资产。我试图通过运行这个带有约束的急切负载来做到这一点:
$laptops = Asset::with(array('classification'=>function($query){
$query->where("name","=","laptops");
}))->get();
foreach($laptops as $laptop){
echo $laptop->serial_number."<br/>";
}
name 是来自asset_classifications 表的列。通过为我的Asset 和AssetClassification 模型设置所需的方法,我已经形成了一对多的关系。
我急切加载的问题在于它获取了所有资产,似乎忽略了我试图仅获取“笔记本电脑”的急切加载约束。我认为问题在于我的代码或我对急切加载的理解,但我不知道是哪一个。我还是新手,希望有人能帮助我。
【问题讨论】:
标签: laravel-4 eloquent eager-loading