2016-07-29 4 views
0

私はLaravel 5.2を使用しており、セットアップ中にいくつかの関係があります。リレーションが消されていない場合にのみリレーションを持つレコードを返す方法

私はProductモデルとCustomerモデル(製品は顧客がいます)を持っています。 私は次のものを使って顧客リストを取得していますが、ソフト削除も使用しています。顧客がソフト削除(関係)している場合、私は製品を返却したくない。

Laravelでこれをどのように達成できますか?あなたがクエリにhasを呼び出す必要が

$products = Product::with('customer')->get(); "customer.deleted_atがヌルです" と言って--want

答えて

1

$products = Product::with('customer')->has('customer')->get();

1

を@Lockはそれを置くとして、

を使用
$products = Product::with('customer')->has('customer')->get(); 

ヒント:反対の場合 - 削除された顧客の商品のみを取得するここではnseですが、これは便利です)、以下を使用してください。

$deleted=Product::with(['customer' => function ($q) { 
    $q->withTrashed(); 
    }])->onlyTrashed()->get(); 
関連する問題