为什么当我将false传递给Model::where()
然后尝试获取first()
元素时,它总是返回我的第一个元素而不是null
?
示例:
我具有hash_id = 123aSd456fGh
的Referrer模型
我尝试如下所示:
$requestReferrer = false;
$referrer = Referrer::where('hash_id', $requestReferrer)->first();
dd($referrer); // returns first Referrer model with hash_id = 123aSd456fGh
仅供参考
当我通过传递null来交换false时,它将返回null。
答案 0 :(得分:1)
原因: SQL Server会自动将位值更改为true或false的varchar值。
以下内容在其中起作用:
(window as any).webkit.messageHandlers
或
$requestReferrer=false;
$referrer = Referrer::where('hash_id', "$requestReferrer")->first();