Php 如何在多对多关系中正确检索laravel中的数据?
我与数据透视表有多对多关系 货物 标签 好标签Php 如何在多对多关系中正确检索laravel中的数据?,php,mysql,laravel,laravel-4,Php,Mysql,Laravel,Laravel 4,我与数据透视表有多对多关系 货物 标签 好标签 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) { //
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;
}
}
每个返回的良好模型都将附加其标签集合
好的,首先让我们在模型中编写关系:
好的模型(代表货物表)
标签模型(表示标签表),这是获取特定标签的商品的反向关系
现在检索所有货物及其标签的代码如下:
id | good_id | tag_id | ...
$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." ";
}
}