php-laravel中热切的负载关系以及相关条件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-laravel中热切的负载关系以及相关条件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1196字,纯文字阅读大概需要2分钟。
内容图文
![php-laravel中热切的负载关系以及相关条件](/upload/InfoBanner/zyjiaocheng/667/cfbad64b430148e5a9aa8b43c803d030.jpg)
我在一棵树中有彼此相关的类别.每个类别都有许多孩子.每个最终类别都有许多产品.
产品还属于许多不同类型.
我希望将他们的孩子和产品加载到类别中,但是我也想提出一个条件,即产品属于某种类型.
这是我的类别模型的样子
public function children()
{
return $this->hasMany('Category', 'parent_id', 'id');
}
public function products()
{
return $this->hasMany('Product', 'category_id', 'id');
}
产品型号
public function types()
{
return $this->belongsToMany(type::class, 'product_type');
}
在我的数据库中,我有四个表:
类别,产品,类型和product_type
我尝试过像这样的急切加载,但是它加载了所有产品,而不仅仅是满足条件的产品:
$parentLineCategories = ProductCategory::with('children')->with(['products'=> function ($query) {
$query->join('product_type', 'product_type.product_id', '=', 'product.id')
->where('product_type.type_id', '=', $SpecificID);
}]])->get();
解决方法:
代替当前查询,尝试是否满足您的需求.
(我根据您的评论修改了我的答案)
$parentLineCategories = ProductCategory::with([
'children' => function ($child) use ($SpecificID) {
return $child->with([
'products' => function ($product) use ($SpecificID) {
return $product->with([
'types' => function ($type) use ($SpecificID) {
return $type->where('id', $SpecificID);
}
]);
}
]);
}
])->get();
内容总结
以上是互联网集市为您收集整理的php-laravel中热切的负载关系以及相关条件全部内容,希望文章能够帮你解决php-laravel中热切的负载关系以及相关条件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。