我正在尝试使用可选参数获得结果。
Route::post('/brief', 'BriefController@showBrief')->name('brief');
但是,使用此GQL脚本时,我在解析时遇到错误。
result = Tester.gql("WHERE (first_name IS NULL OR first_name = :first_name)"
"AND (last_name IS NULL OR last_name = :last_name)"
"AND (birth_date IS NULL OR birth_date = :birth_date)"
"AND (test_voucher IS NULL OR test_voucher = :test_voucher)", first_name=first_name,
last_name=last_name, birth_date=birth_date, test_voucher=test_voucher)
我正在尝试找出我的GQL脚本出了什么问题。预先感谢
答案 0 :(得分:1)
我认为这不是有效的GQL:
没有提到对复合条件使用'('和')'(这是我相信您所看到的错误所在),唯一有效的条件构造是(来自GQL Reference) :
[ WHERE <compound-condition> ]
<compound-condition> := <condition>+AND
<condition> :=
<property-name> IS NULL
| <property-name> <forward-comparator> <value>
| <value> <backward-comparator> <property-name>
GQL中没有OR
运算符,因此不需要分组,请参见In Google DataStore GQL, how can I group the WHERE terms?(也抱怨括号)