yii怎么实现连表更新 删除 [ 2.0 版本 ]
我是从别地框架转过来的,不是特别了解yii的机制
我现在想实现
update a left join b on b.id = a.id set b.name = 'test';这类似的功能
yii中该怎么写
xiaohei 补充于 2017-05-14 23:29
$command = (new \yii\db\Query())
->where(['username' => '2'])
->join('INNER JOIN','sms_user','sms_.id = 1')
->limit(10)
->createCommand()
->update('sms_user',['username'=>'333'],['id'=>2]);
这个语句为什么打印只有update('sms_user',['username'=>'333'],['id'=>2]);这个语句,上面的都没了
共 4 个回答
-
dashixiong 回答于 2017-05-15 09:15 举报
可以这样执行sql语句,可以直接写原生的。
$connection = Yii::$app->db; $sql = "你的sql语句"; $command = $connection->createCommand($sql); $res = $command->queryAll();
共 3 条回复admin_admin 回复于 2017-05-15 11:21 回复楼上的可以 update 执行exec 方法 复杂数据库操作 都是写原生的sql 去执行 ,框架提供的也只是让你拼凑sql条件字段
dashixiong 回复于 2017-05-15 14:24 回复@xiaohei 其实yii2自己拼凑的sql语句效率不一定会比原生的好,因为它要考虑很多的情况,所以会有很多附加条件什么的,自己写的效率更高。但是要做好内容过滤。不要让人家做sql注入啥的。
晦涩de咚 觉得很赞
xiaohei
注册时间:2017-05-14
最后登录:2017-07-13
在线时长:2小时56分
最后登录:2017-07-13
在线时长:2小时56分
- 粉丝0
- 金钱0
- 威望0
- 积分20