尝试登录Yii主页时出现错误
这是错误说明
CDbCommand在SQL-запрос中:SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法中有一个错误;您可能会遇到错误。检查与您的MariaDB服务器版本相对应的手册,以找到在第1行附近的''处使用正确的语法。执行的SQL语句为:SELECT COUNT(*)FROM documents
t
LEFT JOIN docpaterns as p ON t.type = p.id,其中p.required = 1 AND t.status = 1 AND t.user_id =
这是我的代码
public function getDocsStatusNew() {
// К новому модулю "документы"
$reqDocPats = count(DocPatterns::model()>findAllByAttributes(['required' => 1]));
$reqDocs = new CActiveDataProvider(Documents::model(), [
'criteria' => [
'join' => 'LEFT JOIN docpaterns as p ON t.type = p.id',
'condition' => 'p.required = 1 AND t.status = 1 AND t.user_id = ' . $this->id,
],
]);
if ($reqDocPats == count($reqDocs->data)) {
return true;
} else {
return false;
}
}
答案 0 :(得分:1)
问题是$this->id
是未定义的,因此在执行sql t.user_id = ' . $this->id,
时返回t.user_id =
并崩溃。修复此问题,它将起作用。
如果要获取登录的当前用户的id
,可以执行以下操作:
Yii::$app->user->identity->id
所以:
' AND t.user_id = ' . Yii::$app->user->identity->id,