### whereHas
app/Models/Order.php
1 2 3 | public function product1(){ return $this ->belongsTo( 'App\Models\Product' , 'product_id1' , 'id' ); } |
controller
1 2 3 4 | $orders = Order::whereHas( 'product1' , function ( $q ){ $q ->where( 'name' , 'like' , '%車%' ); })->get(); dd( $orders ); |
### orWhreHas
複数のbelongsToがある場合
app/Models/Order.php
1 2 3 4 5 6 | public function product1(){ return $this ->belongsTo( 'App\Models\Product' , 'product_id1' , 'id' ); } public function product2(){ return $this ->belongsTo( 'App\Models\Product' , 'product_id2' , 'id' ); } |
controller
1 2 3 4 5 6 | $orders = Order::whereHas( 'product1' , function ( $q ){ $q ->where( 'name' , 'like' , '%セット%' ); })->orWhereHas( 'product2' , function ( $q ){ $q ->where( 'name' , 'like' , '%セット%' ); })->get(); dd( $orders ); |
OK
で、本当にやりたいのは、whrehasを2階層にしたものをorWhreHasで回したい。できるのか。。。。