yii2模型str_replace()用于所有属性

时间:2015-07-28 19:40:49

标签: php yii2

hello 'shello \'s

的形式保存在数据库中
$eventDetail = Event::find()
                ->joinWith('eventQuestion', true)
                ->joinWith('eventQuestion.questionOption', true)
                ->where(['=','event.id',$id])
                ->one();

包含\'的所有数据都应替换为'

我应该在模型中更改哪些内容来处理它?<​​/ p>

2 个答案:

答案 0 :(得分:1)

I would do

public function retrieveById() {
$eventDetail = Event::find()
                ->joinWith('eventQuestion', true)
                ->joinWith('eventQuestion.questionOption', true)
                ->where(['event.id' =>$id])
                ->one();

// this or do a for loop if you want to loop through $eventDetail
$eventDetail->description = str_replace("\'","'", $eventDetail->description);
}

答案 1 :(得分:0)

在Yii2中,如果我们使用单引号添加任何值,默认情况下,如果要在视图页面中显示,则不添加反斜杠。

您是在保存之前使用反斜杠转换单引号还是隐式更改?

如果隐式更改,您可以在PHP.ini中检查magic_quote_gpc设置。它应该是关闭的。如果您的php版本低于5.4,那么您应该更改magic_quote设置。如果您的PHP版本是&gt; 5.4然后应该有一些其他错误。