2016-03-01 48 views
0

我有兩個表具有多態關係。在Laravel關係中搜索第二個表

表1是歷史

id|amount|type|created_at|updated_at 

表2是佔

id|amount|name|account_number|accountable_id|accountable_type|created_at|updated_at 

歷史有賬表的摘要。 帳戶表具有多態字段(可執行)

現在我正在執行歷史表中的查詢結果包括帳戶表也。

問題是我想在帳戶表中搜索一些數據也說付款人名稱是在帳戶表中。因此,當我點擊歷史記錄表上的查詢時,我將通過付款人姓名,以便只能獲取具有特定付款人姓名的帳戶。

回答

1

您可能需要設置歷史之間的關係和帳戶,以便您可以沿着線查詢:

$histories = Histories::whereHas(
     'accounts' 
     function ($query) use ($name) { 
      $query->where('name', $name); 
     } 
    )->get(); 

但你的問題是不是真的清楚,你沒有在名稱字段帳戶在您提供的有限架構中,所以我無法給出更好的答案。

更多在這裏閱讀:

https://laravel.com/docs/5.1/eloquent-relationships