繁体   English   中英

如何从Laravel 5的数据透视表中获取数据?

[英]How I can get data from pivot table in Laravel 5?

我想获取属于其域的所有标签,但找不到解决方法。

我认为解决方案是这样的:

$domain = Domains::findOrFail($id);

表现:

public function domains() { return $this->belongsToMany('App\Models\Domains', 'domain_tag', 'tags_id', 'domains_id')->withPivot('tags_id'); }

在我看来:

            @foreach($domains as $domain)
                <tr>
                    <td>{{ $domain->pivot->name }}</td>
                </tr>
            @endforeach

感谢您抽出宝贵的时间。

我会建议这样的结构。 如果您正确遵循数据库命名约定,那么您就不需要其他任何内容。您应该为标签和域创建不同的表/模型。 然后您的数据透视表应该像domains_tags(id,domain_id,tag_id)

class Domain extends Model
{

    public function tags(){
        return $this->belongsToMany('App\Tag');
    }
}



class Tag extends Model
{

    public function domains(){
        return $this->belongsToMany('App\Domain');
    }
}


$domain = App\Domain::find(1);

foreach ($domain->tags as $tag) {
    //
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM