2018-04-28 16:42:16 2544次浏览 5条回答 0 悬赏 10 金钱
// 首先要实例化一个CDbCommand对象  
$command = Yii::app()->db->createCommand();     // 注意参数留空了。。  
// 可用的方法列表如下:  
->select(): SELECT子句  
->selectDistinct(): SELECT子句,并保持了记录的唯一性  
->from():         构建FROM子句  
->where():        构建WHERE子句  
->join():         在FROM子句中构建INNER JOIN 子句  
->leftJoin():     在FROM子句中构建左连接子句  
->rightJoin():    在FROM子句中构建右连接子句  
->crossJoin():    添加交叉查询片段(没用过)  
->naturalJoin():  添加一个自然连接子片段  
->group():        GROUP BY子句  
->having():       类似于WHERE的子句,但要与GROUP BY连用  
->order():        ORDER BY子句  
->limit():        LIMIT子句的第一部分  
->offset():       LIMIT子句的第二部分  
->union():        appends a UNION query fragment

\Yii::$app->db->createCommand()
->limit(1)
->delete($table,'id=' .$id)->execute();

报错了 message Calling unknown method: yii\db\Command::limit();

  • 回答于 2018-04-28 17:24 举报

    limit不能用于删除吧,应该只能用于select吧

    4 条回复
    回复于 2018-04-28 17:32 回复

    limit可以删的,

    回复于 2018-04-28 17:34 回复
    DELETE FROM `table` WHERE id=10271271 LIMIT 1
    
    回复于 2018-04-28 18:46 回复

    你可以直接写SQL呀

    回复于 2018-04-28 20:01 回复

    只能直接sql了

  • 回答于 2018-05-02 10:27 举报
    $data = $model->find()->where(['id'=>$get['id']])->one();
    $data->delete()
    
    1 条回复
    回复于 2018-05-02 17:13 回复

    不行啊,我不能用这个AR的连贯操作,AR 切换数据库不好切换

    \Yii::$app->db->createCommand()
    \Yii::$app->db2->createCommand()
    \Yii::$app->db3->createCommand()
    

    这个切换数据库比较方便,AR 相对麻烦

  • 回答于 2018-05-02 13:44 举报

    都没有选择table你怎么删除啊

    1 条回复
    回复于 2018-05-02 17:13 回复

    table 我不是变量传进来吗

  • 回答于 2018-05-02 17:29 举报
    $command=Yii::$app->db->createCommand();
    $command->delete($table,'id=' .$id)->execute();
    
    1 条回复
    回复于 2018-05-02 17:32 回复

    是这样没错,可我想删除一条呀,有好几个ID都是55555的话不把 55555全清了吗

    我只想删除一条

  • 回答于 2018-05-03 10:48 举报
     //在pay_trade表,user_id是可重复的,id是唯一主键   
     //先查询出你要删除的那条数据,取到主键唯一值,再根据这个条件去删除
    	$sql="SELECT id  FROM ".$table." WHERE user_id=".$id." ORDER BY id DESC LIMIT 1";
    	$query=Yii::$app->db->createCommand($sql)->queryOne();
    	$id=$query['id'];
    	$condition="id=:id";
    	$param=array(":id"=>$id);
    	$result=Yii::$app->db->createCommand()->delete($table,$condition,$param)->execute();
    
    2 条回复
    回复于 2018-05-03 19:52 回复

    我的那表是优惠券的表,只有 优惠券的ID 以及会员ID,和一个自增长ID。,

    我要删的是优惠券ID,

    自增长ID 没法查询到哪个ID是哪个优惠券

    回复于 2018-05-03 19:54 回复

    暂时用语句了,连贯查询完成不了这动作,蛋疼

您需要登录后才可以回答。登录 | 立即注册
蛋蛋的蛋
主管

蛋蛋的蛋

注册时间:2018-04-02
最后登录:2024-03-11
在线时长:34小时29分
  • 粉丝4
  • 金钱64
  • 威望20
  • 积分604

热门问题