从 Laravel 中的 belongsToMany 关系中检索数据
Retrieving data from belongsToMany relationship in Laravel
我在从我的关系中获取数据时遇到了一些问题。我需要一些域的标签。
$domains = Domains::where('customer_id', Auth::user()->customers_id)->get();
我需要的域名都有了。在我的 Domains 模型上,我有与我的枢轴 table 的 belongsToMany 关系。
public function tags() {
return $this->belongsToMany('App\Models\Tags_Domains', 'domain_tag', 'domains_id', 'tags_id');
}
我能够从我与此的关系中获取所有数据:
dd($domains[0]->tags);
这为我提供了我想要的所有数据,但仅限于第一个域。但我希望每个域都这样做,将这个新数组传递到我的 Blade 模板。我尝试了很多东西,但无法让它发挥作用。 ($collection 错误,试图正确获取非对象...)
有人可以帮我吗?
控制器代码:
$domains = Domains::where('customer_id', Auth::user()->customers_id)->get();
return view('defaultLayout.domains.tagsdelete', [
'domains' => $domains
]);
这是因为您使用了 $domains[0] 并获得了第一个域。
您必须遍历它们:
foreach($domains as $domain) {
foreach($domain->tags as $tag) {
var_dump($tag);
}
}
编辑:
如果您需要视图中的标签,请按以下方式操作:
@foreach($domains as $domain)
<p>{{ $domain->name }}</p> //where name could be any field that $domain has
@foreach($domain->tags as $tag)
<p>{{ $tag->name }}</p> //where name could be any field that $tag has
@endforeach
@endforeach
很高兴我有帮助:)
我在从我的关系中获取数据时遇到了一些问题。我需要一些域的标签。
$domains = Domains::where('customer_id', Auth::user()->customers_id)->get();
我需要的域名都有了。在我的 Domains 模型上,我有与我的枢轴 table 的 belongsToMany 关系。
public function tags() {
return $this->belongsToMany('App\Models\Tags_Domains', 'domain_tag', 'domains_id', 'tags_id');
}
我能够从我与此的关系中获取所有数据:
dd($domains[0]->tags);
这为我提供了我想要的所有数据,但仅限于第一个域。但我希望每个域都这样做,将这个新数组传递到我的 Blade 模板。我尝试了很多东西,但无法让它发挥作用。 ($collection 错误,试图正确获取非对象...)
有人可以帮我吗?
控制器代码:
$domains = Domains::where('customer_id', Auth::user()->customers_id)->get();
return view('defaultLayout.domains.tagsdelete', [
'domains' => $domains
]);
这是因为您使用了 $domains[0] 并获得了第一个域。 您必须遍历它们:
foreach($domains as $domain) {
foreach($domain->tags as $tag) {
var_dump($tag);
}
}
编辑: 如果您需要视图中的标签,请按以下方式操作:
@foreach($domains as $domain)
<p>{{ $domain->name }}</p> //where name could be any field that $domain has
@foreach($domain->tags as $tag)
<p>{{ $tag->name }}</p> //where name could be any field that $tag has
@endforeach
@endforeach
很高兴我有帮助:)