Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在多对多关系中正确检索laravel中的数据?_Php_Mysql_Laravel_Laravel 4 - Fatal编程技术网

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." ";
        }

    }