[英]Laravel belongstomany - 3 step relationship
我有 3 个相互关联的表
公司: id,名称
公司标签: id、companies_id、tags_id
标签: id, 名字
我想要做的是在表格标签中获取名称
Controller
$companies = Companies::with("tags")->get();
公司
public function tags(){
return $this->belongsToMany(Companies::class, CompaniesTags::class, 'companies_id', 'id');
}
刀
@if(isset($company->tags))
@foreach ($company->tags as $tag)
{{ $tag->name }}
@endforeach
@endif
这就是错误数据的来源,请帮助我。
问题出在您的tags()
方法中。 第二个参数是 pivot表,不是 pivot model。如果要为 pivot 使用特定的 model,需要在 with using()
之后指定
public function tags()
{
return $this->belongsToMany(Companies::class, 'companies_tags', 'companies_id', 'id')
->using(CompaniesTag::class);
}
namespace App\Models;
use Illuminate\Database\Eloquent\Relations\Pivot;
class CompaniesTag extends Pivot { ... }
@foreach ($company->tags as $tag)
{{ $tag->name }}
@endforeach
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.