【发布时间】:2018-11-17 09:02:54
【问题描述】:
我想将值绑定到 DB::raw(...) 查询部分,但仅用于 UPDATE,因此我既不想要 select(DB::raw('...'), [...]) 也不想要 whereRaw('...', [...]) 或 setBindings([...])。
例如,我希望能够将值绑定到以下DB::raw:
$user = User::find(3);
$newCoordinates = ['coordinates' => DB::raw("GeomFromText('POINT(:lat :lng)')")];
$user->update($newCoordinates);
如果 update() 函数不起作用,有没有办法为 save() 函数做呢?
感谢您的帮助。
【问题讨论】:
-
您可以手动添加绑定,但对于浮点数和整数,我不会打扰。只需将* lat 和 lng 转换为浮点数并将它们直接插入到原始表达式中。
-
@Devon 你可能是对的,我已经有验证规则来检查坐标(
required|numeric|min:-85|max:85表示纬度,required|numeric|min:-180|max:180表示经度),我什至将整个代码放在 try/catch 块中. -
您是否使用/需要
updated_at时间戳? -
@JonasStaudenmeir 是的,但我改了名字。我假设您会告诉我检索 PDO 实例并使用它?
-
你写你不要
setBindings():你不想用它(为什么?)还是你认为你不能用它?