簡體   English   中英

從Laravel中的belongsToMany關系中檢索數據

[英]Retrieving data from belongsToMany relationship in Laravel

從我的關系中獲取數據時遇到一些問題。 我需要某些域的標簽。

$domains = Domains::where('customer_id', Auth::user()->customers_id)->get();

有我需要的所有領域。 在我的Domains模型上,我的數據透視表具有這個EmiratesToMany關系。

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

很高興我幫了大忙:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM