問題タブ [cakephp-3.x]

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.

0 投票する
1 に答える
1715 参照

php - CakePHP 3.x 検証エラー メッセージを変更する方法

以下は、CakePHP 3.x の検証関数ですPostsTable

addビューのフォームは次のとおりです。

メッセージの代わりにデフォルトの検証メッセージが常に表示されるのはなぜnotEmptyですか?

0 投票する
1 に答える
930 参照

cakephp-3.1 - Cakephp 3.1でプレフィックス付きのメールテンプレートを使用するには?

私は Cakephp 3.1.6 を使用しており、管理セクションを区切るための管理者プレフィックスがあります。このアプローチを使用して、テンプレート用に次のフォルダー構造を生成しました。

通常のテンプレートでは機能しますが、メール テンプレートでは機能しません。Cakephp は、デフォルトの場所にある電子メール テンプレートを見つけようとしています。src/Template/Email

viewBuilder次のように、パスを設定するために使用してみました。

しかし、それでも失敗します。

メール テンプレートのパスを変更する方法はありますか?

0 投票する
1 に答える
675 参照

mysql - Cakephp 3 (My)SQL 集計関数 max() 構文エラー付近 'AS MAX(`users`__`date_time`) AS `date`

Cakephp 3 でソーシャル アプリケーションを開発しています。

私は今、メッセージ機能に取り組んでいます。このように機能し、左側にユーザ​​ーが表示され、会話をしているユーザーが表示され、真ん中に会話が表示されます。

ユーザーを最後のメッセージの日付で並べ替えたい。つまり、私が最後に書いたのが Peter だった場合、Peter が一番上に表示されるはずです。

次のクエリがあります。

パフォーマンス上の理由から、sender_id と reciever_id によるグループ化を追加しました。すべてのメッセージを受信するのではなく、これまでに書いたユーザーだけを見つけたいからです。

問題は、グループステートメントがソートを破壊することです。そこで、順序を維持するために max-aggregate-function を考えました。

ただし、cakephp フレームワークによって次のエラー メッセージが表示されます。

エラー: SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の「MAX(`messages`__`max_date`), Messages.id AS `Messages__id`, Messages.sender_id A' の近くで使用する正しい構文を確認してください。

誰でも知っていますか、私のクエリの何が問題なのですか? ドキュメントの例に従うために最善を尽くしました。

なぜ__ではなくmessages__max_dateと言うのですかmessagesmax_date?

0 投票する
0 に答える
401 参照

mysql - CakePHP3 の更新後の SQL エラー (マイナー バージョン アップグレード)

CakePHP を更新した後、開発マシンで次のエラーが発生します。

SQLSTATE [42000]: 構文エラーまたはアクセス違反: 1055 SELECT リストの式 #1 が GROUP BY 句になく、GROUP BY 句の列に機能的に依存していない非集計列 'stockapi.Products.id' が含まれています。これは sql_mode=only_full_group_by と互換性がありません

SQL コマンドは次のとおりです。SELECT Products.id AS Products__id FROM products Products WHERE Products.delivery_id in (:c0) GROUP BY ean

本番サーバーでは正常に動作しているようですが、OSX 開発用コンピューターでは正常に動作していないようです。パソコンの電源を入れたからだと思いsql_mode=only_full_group_byます。もちろんこれをオフにすることもできますが、コードを完全なグループ化のみに準拠させたいと考えています。SQL コードで何を変更する必要がありますか?

0 投票する
1 に答える
2940 参照

cakephp-3.x - CakePHP 3は多対多の関係でデータを保存します

従業員と複合体は多対多の関係にあります。ベイク コンソールを使用して、従業員と複合体テーブルのモデル、コントローラーを生成しました。私の質問:

2 番目の質問: -この 3 つのテーブルにデータを保存するにはどうすればよいですか。私のアプリでは、 Complex ごとに従業員を保存する必要があります。

私を助けてくれてありがとう

0 投票する
1 に答える
253 参照

php - データベースの「タイムスタンプ」タイプのcakephp 3フォーム入力[内部エラー]

送信ボタンをクリックすると、エラー ページ「インター エラー」が表示されます。他に追加する必要があるものはありますか? 誰かが助けてくれたらありがとう..ところで、私はcakephp 3.xxを使用しています

**DB の「inputDate」: タイプは「timestamp」で、デフォルトは CURRENT_TIMESTAMP に設定されています。

0 投票する
2 に答える
2239 参照

validation - cakephp 3 一意の制約を追加

モデルに一意の検証ルールを追加するために、次のことを試しました。

これでエラーは発生しなくなりました。データベース制約を追加すると、データベース エラーのみが発生します。

整合性制約違反: 1062 キー 'pseudonym' のエントリ 'Stella' が重複しています

私が追加した場合:

次の例外が発生します。

メソッド validateUnique が見つかりません

では、cakephp 3 ではどのように動作するのでしょうか?