【发布时间】:2016-12-02 10:00:39
【问题描述】:
在我的actionCreate()中:
$model=new Search;
if(isset($_POST['Search']))
{
$model->attributes=$_POST['Search'];
$model->save();
}
它不会将任何内容保存到数据库中。 $model->save() 返回 true,当我尝试使用 getErrors() 时没有错误消息,还有 $model->validate() em> 当我尝试使用它时返回 true 并且 $model->save(false) 是相同的输出。
我在模型规则中有以下内容:
array('user_id, session_id, testcase_id, exec', 'safe', 'on'=>'search')
我还在发送表单后打印了 $model->attributes,它具有正确的值。数据库表接受给定的值,手动添加值时不会出现 SQL 错误。
提前感谢您的帮助。
【问题讨论】:
-
你的
$_POST['Search'];的价值是多少 -
您是否尝试删除数组中的 'on'=>'search'('user_id, session_id, testcase_id, exec', 'safe', 'on'=>'search') ?
-
我的 $_POST['Search'] 的值是我在输入表单中输入的值,当我打印出 $model->attributes 时,它会返回正确的值。我尝试删除 'on'=>'search' 但没有帮助。
-
尝试设置安全(或给出其他规则)所有模型属性,我想比我们在帖子中看到的更多
-
可能是您的表结构,尝试将您的查询转换为字符串并在您的 dbms 上手动查询