请问一下我这个跨库联表查询为什么报错了呢? [ 2.0 版本 ]
Database Exception – yii\db\Exception
SQLSTATE[42000]: Syntax error or access violation: 1142 SELECT command denied to user
public function actionSearch(){
$results = (new Query())->select([
'al.al_id',
'al.al_add_user_id',
'al.al_title',
'al.al_thumb',
'al.desc',
'al.al_post_time',
'al.transport_name',
'u.user_name'
])
->from('article_list as al')
->leftJoin('Yii::$app->db_user.user as u','al.al_add_user_id = u.user_id')
->All(Yii::$app->db_home);
print_r($results);die;
}
最佳答案
其他 1 个回答
-
同学啊,这个很低级的错误,你可以犯出来。以后可得注意啊。PHP中,单引号和双引号的字符串差别,希望你以后要记住啊。
去php手册看看这些基础。->leftJoin('Yii::$app->db_user.user as u','al.al_add_user_id = u.user_id')
第一个问题就是单引号字符串的问题。
第二个问题是,你好像要使用跨库表连接,这是不支持的吧。
你应该建立一个User模型,单独修改它的db属性为你的新连接:db_user。->leftJoin(User::tableName()." as u",'al.al_add_user_id = u.user_id')
第三个,你的想法真棒!
继续努力。
PHP学院的中学生
注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
最后登录:2024-09-23
在线时长:168小时13分
- 粉丝29
- 金钱4725
- 威望30
- 积分6705