ホームページ  >  記事  >  バックエンド開発  >  thinkphp 3.2 ビュー モデルによって生成された SQL ステートメントで 1267 エラーが表示されます。アドバイスをお願いします。

thinkphp 3.2 ビュー モデルによって生成された SQL ステートメントで 1267 エラーが表示されます。アドバイスをお願いします。

WBOY
WBOYオリジナル
2016-06-23 13:44:291208ブラウズ

使用した TP3.2 View Model クエリ
モデルは次のように記述されます
PicViewModel.class.php

<?phpnamespace Home\Model;use Think\Model\ViewModel;class PicViewModel extends  ViewModel{    public $viewFields =array(       'Picture'=> array('picTitle','picToken','picCategroy','picAuthor','picPostTime','_as'=>'Picture'),        'PictureAttachment' =>array('pictureid','pictureurl','creattime','_on'=>'Picture.picToken = PictureAttachment.pictureid','_as'=>'PictureAttachment'),    );}

コントローラーは次のように記述されます
  public function  Pic(){         $PicModel =D('PicView');            $s1= $PicModel->field('picTitle,picCategroy,picAuthor,picPostTime,pictureurl')->order('picPostTime desc')->select();        dump($PicModel->getLastSql());        dump($s1);    }

生成される SQL ステートメントは次のようになります
SELECT Picture.picTitle AS picTitle,Picture.picCategroy AS picCategroy,Picture.picAuthor AS picAuthor,Picture.picPostTime AS picPostTime,PictureAttachment.pictureurl AS pictureurl FROM xxx_picture Picture  JOIN xxx_picture_attachment PictureAttachment ON Picture.picToken = PictureAttachment.pictureid ORDER BY Picture.picPostTime desc

phpmyadmin で実行すると、が表示されます
MySQL return : Document

#1267 - 操作 '=' の照合順序 (utf8_general_ci,IMPLICIT) と (utf8_unicode_ci,IMPLICIT) の不正な組み合わせ
次に、phpmyadmin でテーブルを直接変更しました。
それをutf8_general_ciに変更しましたが、まだエラーが発生します

オンラインで確認しましたが、これがどのように実行されるかです
alert xxx_picture_attachment CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
ALTER xxx_picture_attachment DEFAULT CHARACTER SET utf8_general_ci
どちらもうまくいかないようです
エラーを報告します
MySQL が返します: ドキュメント

#1064 - SQL 構文にエラーがあります。「alert xxx_picture_attachment CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。 1行目

アドバイスをください


ディスカッションに返信(解決策)

テーブル構造を投稿して見てください

テーブル構造を投稿して見てください



リマインダーありがとうございます. フィールドの並べ替えの問題であることが判明しました〜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。