0
我有一个多对多的数据透视表关系。如何在多对多的关系中正确地检索laravel中的数据?
产品
id | title | ...
标签
id | title | ...
good_tag
id | good_id | tag_id | ...
如何正确地检索laravel所有商品和他们的标签?
感谢
我有一个多对多的数据透视表关系。如何在多对多的关系中正确地检索laravel中的数据?
产品
id | title | ...
标签
id | title | ...
good_tag
id | good_id | tag_id | ...
如何正确地检索laravel所有商品和他们的标签?
感谢
随着预先加载
$goods = Good::with('tags')->get();
foreach ($goods as $good) {
// each goods
echo $good->title;
foreach ($good->tags as $tag) {
// each tag for that goods
echo $tag->title;
}
}
每个返回良好运行模式将有其附着的标签的集合。
好吧,首先让写在你的模型的关系:
很好的模型(代表产品表)
public function getTags()
{
return $this->belongsToMany('Tag','good_tag','good_id','tag_id');
}
标签模型(代表标签表)这是获得特定标签的商品的反向关系
public function getGoods()
{
return $this->belongsToMany('Good','good_tag','tag_id','good_id');
}
我们检索所有商品和在这里他们的标签的代码:
$goods=Good::All();
foreach($goods as $good)
{
echo $good->title;
echo "Tags: ";
foreach($good->getTags as $tag)
{
echo $tag->title." ";
}
}