問題タブ [cakephp-model]

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 に答える
201 参照

cakephp - hasMany レコード数による並べ替え - COUNT(RelatedModel.field)

多くの投票を持つモデル Track があります。Vote モデルには「value」というフィールドがあります。私がやりたいことは、投票の値の合計でトラック レコードを並べ替えることです (つまり、残念ながら counterCache を使用できません)。

もちろん、'order'=>'SUM(Vote.value)'「unknown column...」というエラーで失敗します。

find('all') ですべてを取得し、後で並べ替えるだけですが、ページネーションも必要です。

私が思いついた最良のアイデアは、すべての投票の合計値を追跡する Track モデルにフィールドを追加することです。counterCache が行うことと似ていますが、さまざまな投票の異なる値を反映します。

これを行う簡単な方法はありますか?

読んでくれてありがとう!

0 投票する
3 に答える
1507 参照

cakephp - CakePHP には、オブジェクトの配列を返す Model->find と同等のものがありますか?

CakePHP はネストされた配列を返し、メソッドのオブジェクトのコレクションは返しませんModel->find。CakePHP はモデルのコレクションを取得する方法を提供していますか?

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

php - CakePHP beforeSave&HABTM

CakePHP2.0ベータ版でbeforeSaveロジックを書き込もうとしています。基本的に、ユーザーがタグのような機能のためにテキストを送信できるようにしたいと思います。beforeSave関数は、関連するテーブルを検索します。タグが存在する場合は、プライマリレコードにリンクし、存在しない場合は、新しいタグを作成してからリンクします。

これが私の関数です(beforeSaveにあります):

これは基本的に私が望むように機能し、必要に応じてレコードを作成し、既存のレコードを見つけて、次のような配列を作成します。

また、プライマリモデル(プロジェクト)にデータを正常に保存します。ただし、[Term][Term]の下の関連付けは無視されます。これがHABTMの関連付けを保存するための正しい配列構造であると確信しています。

誰かがこれの何が悪いのかわかりますか?

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

cakephp - プレフィックスまたはページに基づく条件付き afterFind

管理者以外のプレフィックスでのみ呼び出したい afterFind 関数の動作があります。$this は動作を参照しているため、$this->params は機能しません。ページまたはプレフィックスに基づいて、この動作を条件付きにするにはどうすればよいですか?

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

php - findメソッドを使用して関連モデルのフィールドを制限する方法

ユーザーモデルと記事モデルがあります。ユーザーは多くの記事を持っています。したがって、ユーザーを照会すると、記事テーブルのすべてのフィールドが取得されます。記事のタイトルだけに限定したい。

フィールドはユーザーモデルに対して正常に機能します。ただし、関連するモデルでは機能しません。エラーをスローします

助けていただければ幸いです。

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

php - モデルのベイク - CakePHP - Ubuntu

現在、CakePHP でプロジェクトのモデルを作成しようとしています。データベース テーブルをセットアップし、スケルトン プロジェクトをベイクしました。次に、ターミナル経由で次を実行します。

次に、正しいメニューが表示されます。「M」を選択すると、次のエラーが表示されます

どうすればこれを解決できるかについて誰かアイデアがありますか? 何時間も頭をかきむしっています。

編集

接続コード

また、cakePHP によって生成された起動ページを見ると、データベース接続が正常であることを確認できます。

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

cakephp - CakePHP は複数のモデルにわたるトランザクションをサポートしていますか?

複数の測定単位をサポートするアプリケーションを作成しています。まれに、ユーザーが測定システムを変更したい場合、アプリケーション内のすべての単位列を正しい測定システムにスケーリングする乗数を適用するクエリを実行する必要があります。この操作で何か問題が発生した場合にすべてのデータが正常であることを確認するには、トランザクション内でクエリを実行する必要があります。

複数のモデルをカバーするクエリを含むトランザクションを Cake で実行することは可能ですか?

これまでに見つけたのはDataSource::begin/commit/rollback()だけですが、それは単一のモデルに対するクエリのみをサポートしています。

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

php - CakePHP: モデルに関連付けられたフィールドを制限する

データベーステーブルのいくつかに、CakePHP モデルが取得する必要のないフィールドがいくつかあります。モデル レベルで取得するデフォルトのフィールド セットを設定する方法はありますか? たとえば、テーブルごとに 50 のフィールドを持つサードパーティが設計したデータベースからデータを取得し、5 を使用します。

find() クエリ時およびモデル間の関連付け時にフィールドに制限を設定できることは知っていますが、モデルレベルのアプローチがあるかどうか疑問に思っていました。

0 投票する
3 に答える
188 参照

php - Multiple controllers with a single model

Heres what im trying to do

Ive got table that holds many different types of data for items. the model name for this is 'Object'

for example :

i want to write a controller 'event_controller' and use the 'Object' model with it and only deal with item_types of event. and another controller for news (news_controller) and use the same model.

how do i do this on cakephp.

Im coming into cake from codeigniter and in CI we can load any model we want into any controller can i do something similar with cake?