問題タブ [cakephp-2.7]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 未定義の変数: キー [CORE\Cake\View\Elements\Flash\success.ctp、1 行目]
CakePHP 2.7 を使用しています。
Cake Bake を使用して MVC コードを生成しました。
プロジェクトを実行すると、次のエラー メッセージが生成されます。
未定義の変数: キー [CORE\Cake\View\Elements\Flash\success.ctp、1 行目]
このエラーの原因は何ですか?
cakephp - CakePHP の find() グループと日付順の複雑な条件
プロファイルのチャット リストと最後のメッセージを時系列で表示するために、対応するユーザーとのメッセージを取得しようとしています。
結果を取得するために、次の find() メソッドを作成しました。
私が持っているもの:
- 対応する「受信者」を含むメッセージ、
- 年代順に
問題:
- クエリは、$recepient_id/$sender_id の組み合わせから最新のメッセージを取得しません。
したがって、最後のメッセージを持つユーザーのリストの代わりに、メッセージを持つユーザーのリストがあります。クエリの何が問題になっていますか? 手伝ってくれてありがとう!
方法 2 の結果
データベースに「chat_id」フィールドを作成しました。これは、基本的にrecipient_id + sender_idをアルファベット順に並べ替えたものです(user1がuser2にメッセージを送信するとuser1が送信者になり、後でuser2が応答すると彼が送信者になるため、並べ替えにより2人のユーザーが常に同じchat_id)。
クエリに DISTINCT を追加したよりも:
$this->Message->recursive = 0;
$msgs = $this->Message->find('all', array(
'fields' => array('DISTINCT Message.chat_id','Message.*','Recepient.*'),
'order'=>'Message.created DESC',
'conditions'=>
array(
'OR'=> array(
array('recepient_id'=>$pid),
array('sender_id' => $pid)
)
)
));
それは動作しません!同じ会話に対して複数のメッセージを受け取るようになりました。
クエリからメッセージ フィールドと受信者フィールドを削除すると、正しい量の「チャット」が得られます。
'fields' => array('DISTINCT Message.chat_id'),
しかし、それは解決策ではありません。
CakePHP バージョン 2.7.0 MySQL DB
方法3の結果
$msgs = $this->Message->find('all', array(
'order'=>'Message.created DESC',
'fields' => 'recepient_id, content, max(Message.created) as max_created',
'group'=>'recepient_id',
// 'contain' => array('Recepient'),
'conditions'=>array( 'chat_id' => $chats )
));
これを解決するための単一検索方法をあきらめたので、1.チャットのリストを取得している、2.各チャットから最後のメッセージを見つけたい. http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/によると、私の検索クエリは機能するはずです。何が起こるかは
フィールドmax(
Message .
created)
は確かに会話からの最新のメッセージを表示していますが、0=>Message 配列は別のメッセージ用です! ご覧$results[0]['Message']['created']
の通り時と$results[0][0]['max_created']
は違います!
php - CakePHP Form->postLink が最初の行で機能しない
データベースに保存されたすべてのコミックを含むテーブルがあります。このテーブルでは、ユーザーは任意の行を削除できます。
削除アクションは、ビューの postLink です。
?>
これはコントローラーです:
削除アクションは、テーブル内のすべての行に対してチャームのように機能しますが、最初の行です。最初の削除アイコンをクリックすると、確認メッセージが表示され、他に何も起こりません。
最初の行のフォームが作成されていないことがわかりました。これは、2 番目のアイコン用に生成された HTML です。
これは、最初のアイコン用に生成された HTML です。
postLink にすべての行のフォームを作成させるにはどうすればよいですか? CakePHP 2.7.2 を使用しています。
cakephp-bake - CakePHP のベイク コンソールは、すべてのエラー行 40 をベイクします: exec: php: 見つかりません
CakePHP 2.7.3 を初めて使用し、Linux Mint 17 を実行しています。データベースを作成した後、bake コマンドを試しましたが、実行するたび ./projects/school/app/Console/cake bake all
にエラー メッセージが表示されます../lib/Cake/Console/cake: line 40: exec: php: not found
。Cake ファイルを../app/Console
実行可能ファイルにしようとしましたが、それでもエラー メッセージが表示されます。よろしくお願いします
php - ログイン機能 CakePHP
if
Cake 2.7 フレームワークの PHP に、最初のステートメントを超えないログイン機能があります。条件は常に偽のようで、なぜ私は本当に混乱しています。リクエストを正しく実装していませんか? どんな助けでも大歓迎です。
ログイン()
php - Cakephp 2.xでauthcompを使用して最後のログインを更新する方法
現在、認証コンポーネントを使用してログインしています。ユーザーがサイトにログインするたびに、users テーブルの last_login フィールドを更新したいと考えています。
私が持っているUsersコントローラーの私のログイン機能--
アプリコントローラーで私は持っています
cakephp-bake - CakePHP 2.7.x でクラスを自動生成するには?
どこにもそれに関するドキュメントがないようです。任意の支援をいただければ幸いです。