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

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

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

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

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

頁(yè)面代碼為:

$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);

錯(cuò)誤SQL為:

復(fù)制代碼 代碼如下:
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語(yǔ)句應(yīng)為:

復(fù)制代碼 代碼如下:
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 基類(lèi):

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;
}

解決方案。修改基類(lèi)方法:

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)容感興趣的讀者可查看本站專(zhuān)題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

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

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

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

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

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

    Laravel框架之blade模板新手入門(mén)教程及小技巧

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

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

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

    ThinkPHP分頁(yè)類(lèi)使用詳解

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

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

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

    PHP Web木馬掃描器代碼分享

    本篇文章給大家分享一段代碼,php web木馬掃描器。需要的朋友直接復(fù)制代碼,就可以使用了,代碼超簡(jiǎn)單,附有注釋?zhuān)枰呐笥芽梢詤⒖枷?/div> 2015-09-09
  • Laravel 5 框架入門(mén)(一)

    Laravel 5 框架入門(mén)(一)

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

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

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

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

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

最新評(píng)論

屯留县| 宣恩县| 株洲市| 集贤县| 安丘市| 福清市| 秦皇岛市| 栾城县| 庆城县| 河北区| 习水县| 泰安市| 江阴市| 拉萨市| 寿宁县| 泸水县| 盘山县| 凤翔县| 无棣县| 乌审旗| 永顺县| 策勒县| 雷州市| 西吉县| 高唐县| 南皮县| 洛阳市| 巴林左旗| 洪雅县| 格尔木市| 荆门市| 任丘市| 福鼎市| 寿宁县| 治县。| 中方县| 浠水县| 习水县| 永福县| 连平县| 汝阳县|