最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Yii使用DeleteAll連表刪除出現(xiàn)報錯問題的解決方法

 更新時間:2016年07月14日 09:48:41   作者:dreamzml  
這篇文章主要介紹了Yii使用DeleteAll連表刪除出現(xiàn)報錯問題的解決方法,分析了相關(guān)的SQL語句及出現(xiàn)錯誤的原因與改正方法,需要的朋友可以參考下

本文實例講述了Yii使用DeleteAll連表刪除出現(xiàn)報錯問題的解決方法。分享給大家供大家參考,具體如下:

刪除數(shù)據(jù)的時候,經(jīng)常會遇到連聯(lián)判斷刪除數(shù)據(jù)的條件,今天用Yii 的CDbCriteria生成關(guān)連條件。批量刪除的時候數(shù)據(jù)庫報錯。

頁面代碼為:

$criteria=new CDbCriteria;
$criteria->join = ' LEFT JOIN {{positions}} p ON p.zpo_id=t.zpo_id ';
$criteria->addCondition("p.zpo_type=1");
$criteria->addCondition("t.zpl_content_id in ($id)");
PosLog::model()->deleteAll($criteria);

錯誤SQL為:

復制代碼 代碼如下:
DELETE FROM `zd_pos_log` LEFT JOIN zd_positions p ON p.zpo_id=t.zpo_id WHERE (p.zpo_type=1) AND (t.zpl_content_id in (76))

正確SQL語句應為:

復制代碼 代碼如下:
DELETE t FROM `zd_pos_log` t LEFT JOIN zd_positions p ON p.zpo_id=t.zpo_id WHERE (p.zpo_type=1) AND (t.zpl_content_id in (76))

追溯到Y(jié)ii 基類:

framework/db/schema/CDbCommandBuilder.php#166

public function createDeleteCommand($table,$criteria)
{
  $this->ensureTable($table);
  $sql="DELETE FROM {$table->rawName}";
  $sql=$this->applyJoin($sql,$criteria->join);
  $sql=$this->applyCondition($sql,$criteria->condition);
  $sql=$this->applyGroup($sql,$criteria->group);
  $sql=$this->applyHaving($sql,$criteria->having);
  $sql=$this->applyOrder($sql,$criteria->order);
  $sql=$this->applyLimit($sql,$criteria->limit,$criteria->offset);
  $command=$this->_connection->createCommand($sql);
  $this->bindValues($command,$criteria->params);
  return $command;
}

解決方案。修改基類方法:

public function createDeleteCommand($table,$criteria,$alias='t')
{
  $this->ensureTable($table);
  $alias=$this->_schema->quoteTableName($alias);
  if(empty($criteria->join)){
    $sql="DELETE FROM {$table->rawName}";
  }else{
    $sql="DELETE $alias FROM {$table->rawName} $alias";
  }
  $sql=$this->applyJoin($sql,$criteria->join);
  $sql=$this->applyCondition($sql,$criteria->condition);
  $sql=$this->applyGroup($sql,$criteria->group);
  $sql=$this->applyHaving($sql,$criteria->having);
  $sql=$this->applyOrder($sql,$criteria->order);
  $sql=$this->applyLimit($sql,$criteria->limit,$criteria->offset);
  $command=$this->_connection->createCommand($sql);
  $this->bindValues($command,$criteria->params);
  return $command;
}

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎教程》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。

相關(guān)文章

  • Yii2 加載css、js 載靜態(tài)資源的方法

    Yii2 加載css、js 載靜態(tài)資源的方法

    本篇文章主要介紹了Yii2 加載css、js 載靜態(tài)資源的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • PHP小白必須要知道的php基礎知識(超實用)

    PHP小白必須要知道的php基礎知識(超實用)

    PHP是一 種被廣泛應用的開放源代碼的、基于服務器端的用于產(chǎn)生動態(tài)網(wǎng)頁 的、可嵌入HTML中的腳本程序語言,尤其適合 WEB 開發(fā)。下面給大家分享PHP小白必須要知道的php基礎知識,超實用,感興趣的朋友一起學習吧
    2017-10-10
  • Laravel框架之blade模板新手入門教程及小技巧

    Laravel框架之blade模板新手入門教程及小技巧

    Blade 是 laravel 提供的一個簡單強大的模板引擎。下面這篇文章主要給大家介紹了關(guān)于Laravel框架之blade模板新手的入門教程以及一些使用的小技巧,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-12-12
  • 去掉destoon資訊內(nèi)容頁keywords關(guān)鍵字自帶的文章標題的方法

    去掉destoon資訊內(nèi)容頁keywords關(guān)鍵字自帶的文章標題的方法

    這篇文章主要介紹了去掉destoon資訊內(nèi)容頁keywords關(guān)鍵字自帶的文章標題的方法,有一定的實用價值,需要的朋友可以參考下
    2014-08-08
  • ThinkPHP分頁類使用詳解

    ThinkPHP分頁類使用詳解

    當網(wǎng)站的留言內(nèi)容越來越多的時候,分頁功能的應用就應運而生了,本文我們就來重點講解下ThinkPHP框架自帶的分頁類的調(diào)用
    2014-03-03
  • PHP使用imagick讀取PDF生成png縮略圖的兩種方法

    PHP使用imagick讀取PDF生成png縮略圖的兩種方法

    這篇文章主要介紹了PHP使用imagick讀取PDF第一頁生成png縮略圖的兩種方法,使用了PHP擴展php_imagick,需要的朋友可以參考下
    2014-03-03
  • PHP Web木馬掃描器代碼分享

    PHP Web木馬掃描器代碼分享

    本篇文章給大家分享一段代碼,php web木馬掃描器。需要的朋友直接復制代碼,就可以使用了,代碼超簡單,附有注釋,需要的朋友可以參考下
    2015-09-09
  • Laravel 5 框架入門(一)

    Laravel 5 框架入門(一)

    本文給大家介紹的是Laravel5框架入門的第一篇文章,主要給大家介紹些基礎的知識,包括安裝配置,數(shù)據(jù)庫的建立與遷移,模型介紹,是篇非常不錯的入門文章,這里推薦給大家。
    2015-04-04
  • PHP session 會話處理函數(shù)

    PHP session 會話處理函數(shù)

    這篇文章主要介紹了PHP session 會話處理函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • thinkphp的URL路由規(guī)則與配置實例

    thinkphp的URL路由規(guī)則與配置實例

    這篇文章主要介紹了thinkphp的URL路由規(guī)則與配置方法,實例分析了ThinkPHP的路由規(guī)則及偽靜態(tài)設置方法,并分析了相關(guān)的注意事項,是ThinkPHP開發(fā)中非常重要的技巧,需要的朋友可以參考下
    2014-11-11

最新評論

南澳县| 洪江市| 视频| 阳新县| 梨树县| 三台县| 启东市| 西丰县| 灵宝市| 贵德县| 开平市| 沙洋县| 法库县| 哈尔滨市| 宁强县| 南涧| 连云港市| 桐柏县| 新民市| 于田县| 高密市| 唐河县| 沙河市| 五大连池市| 海门市| 秦安县| 巢湖市| 贵州省| 攀枝花市| 峡江县| 沈阳市| 剑河县| 友谊县| 尤溪县| 仁怀市| 郸城县| 和龙市| 云阳县| 宝清县| 万安县| 遂昌县|