我有三张桌子。
我使用Eloquent映射这些表。
例如,
在客户详细信息的评论模型中,我的功能类似于
public function customer(){
return $this->belongsTo('Customer', 'customer_id');
}
对于产品详细信息,我的功能类似于
public function product(){
return $this->belongsTo('Product', 'product_id');
}
现在查询评论模型,如
Review::all()->with(array('customer', 'product'))->get()
返回值。那样就好。但是,如果删除了任何客户,则该行的值只是空的。相反,我需要省略该行。如何在laravel中做到这一点。
答案 0 :(得分:0)
试试这个......也许在你的方法中添加where子句也可以。
$allReviews = Review::all()
->join('customers', 'reviews.customer_id', '=', 'customers.id')
->join('products', 'reviews.product_id', '=', 'products.id')
->where('customers.firstname','!=','') // given that there is a column firstname in table customers
->get()
答案 1 :(得分:0)
您可以使用has()
过滤至少包含一个相关模型的模型:
Review::with('customer', 'product')->has('customer')->get();