我目前正在尝试对数据库中的字段进行更新。这是一个简单的文本字段,如果字符串包含问号(?),我会遇到问题。
示例:
test ? test
正在发生的事情是它看到了'?'并认为它具有约束力。实际上它只是一个问题。我试过在它周围包裹\DB::raw()
,但它不起作用。
之前是否有其他人遇到过此事?
答案 0 :(得分:0)
我有一个非常相似的问题,在我的情况下,我试图保存一个包含'?'使用eloquent到数据库。我的解决方法是更换'?'与另一个角色,例如,' ^'保存时和阅读时相反。我利用eloquent mutators这样做,所以在我雄辩的模型中,我有类似的东西。
public function getFieldNameAttribute($value)
{
return str_replace("^", "?", $value);
}
public function setFieldNameAttribute($value)
{
$this->attributes['field_name'] = str_replace("?", "^", $value);
}
但是,您需要找到一个可以保证不会出现在您想要保存的值中的角色。