99 issue is very similar, but was closed with a fix, which actually fixes only #109 , as contains refers to comparison within a string, not a list. It is similar to sql LIKE operator.
So if we have Field1 = APK1234, Field2 = 1234 & Field3 = 5678 $client->where('Field', '!contains', 'APK') or $client->where('Field', 'not like', 'APK') should return only Field2 & Field3
But it does not work, as I am getting 400 Bad Request response: "One or more problems were encountered when parsing the filter: -- line 1 col 29: invalid BoolCompExprTail"
Hello,
99 issue is very similar, but was closed with a fix, which actually fixes only #109 , as
contains
refers to comparison within a string, not a list. It is similar to sqlLIKE
operator.So if we have
Field1 = APK1234
,Field2 = 1234
&Field3 = 5678
$client->where('Field', '!contains', 'APK')
or$client->where('Field', 'not like', 'APK')
should return only Field2 & Field3 But it does not work, as I am getting400 Bad Request response: "One or more problems were encountered when parsing the filter: -- line 1 col 29: invalid BoolCompExprTail"
Currently Grammar has these specified as
$functions
https://github.com/saintsystems/odata-client-php/blob/77a80d982b5bc243fb9b7cd9e04d10f4e5f69cae/src/Query/Grammar.php#L22I am aware, that OData does not support invert of contains by default, instead
$filter=indexof(Field, 'APK') eq -1
provides inverted behavior.How can we achieve such functionality with your library?