Reputation: 1663
I have query for where in native php
where type <> 'point'
and I try convert to eloquent laravel
->with('payments',function($query){
$query->where('type','<>','point');
})
but it is showing error as follows:
mb_strpos() expects parameter 1 to be string, object given
Upvotes: 11
Views: 16247
Reputation: 736
to parse the dynamic parameters within query try this :
$string = 'points';
->with(['payments' => function ($query) use ($string) {
$query->where('type', '<>', $string);
}])
this will work!!
Upvotes: 2
Reputation: 1383
If that is all you need to do with the query then you can just chain it like this:
->with('payments')->where('type', '<>', 'point') //chain more after this
Correct answer should be this if you are trying to filter payments where the type
is not equal to point
.
Upvotes: 1
Reputation: 163748
You're using wrong syntax. Correct syntax for with()
is:
->with(['payments' => function ($query) {
$query->where('type', '<>', 'point');
}])
Upvotes: 40