問題タブ [codeigniter-datamapper]

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 投票する
3 に答える
953 参照

php - 更新時にデータを検証する DataMapper ORM CodeIgniter

私は CodeIgniter で DataMapper ORM を初めて使用します。これが私の質問です。マニュアルによると:

この方法には注意してください。whereステートメントまたは同様のメソッドで制限することなく、テーブルのすべての行を変更します!

また、このメソッドは検証をバイパスし、テーブル内の外部キーでも操作できるため、リスクに注意してください。

更新メソッドが検証をバイパスする場合、更新前に検証するレコードを更新する方法は何ですか? サンプルコードをいただければ幸いです。

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

mysql - ISNULL を使用して SQL クエリを Codeigniter の Datamapper ORM に変換する

user、section、および user_section (結合テーブル) の 3 つの mySQL テーブルがあります。

以下のSQL:

次の結果がうまく生成されます。

ビューには、ユーザーとそのユーザーが属するセクションを編集するためのフォームがあります。私はチェックボックスを次のように書いています($ user_sectionsには上記のデータが含まれています):

私の質問は次のとおりです。

SQL クエリを記述するより良い方法はありますか? または、私が持っているものは良いですか、必要なデータを取得する唯一の方法ですか?

Datamapper ORM を使用してクエリを記述したいと考えています。私はこれまでのところ...

ISNULL の前の NOT が一重引用符でエスケープされているため、クエリが正しい SQL になることができません。これを Datamapper で適切に記述するにはどうすればよいですか?

改善のための提案は大歓迎です。前もって感謝します。

編集:

私はうまくいく解決策を見つけました - ここに私のDatamapperコードがあります:

私の答えの一番上にあるSQLと同じデータを生成します。ただし、より多くのデータベース クエリを使用します (1 つのデータベース クエリで実行することを望んでいました)。

私がここで最高のことをしたことを誰かが確認できますか?

ありがとう!

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

php - CodeigniterDatamapper多対多のリスト

私は2つの多対多の関係テーブルを持っています。投稿とカテゴリ。1つの投稿に多くのカテゴリを含めることができます。私の質問は、投稿のリストとそのカテゴリをどのように表示できるかということです。

そのように:

私の投稿1(cat1、cat2、cat3)
私の投稿2(cat2、cat3)
私の投稿3(cat1)

私はこれらの方法を試しました。

これは気に入らないでください。30件の投稿がある場合は、すべての投稿ループでもう一度クエリを実行し、カテゴリを何度も見つけます。

そしてこれを試しました:

これはもっと近いですが、この1つの問題は、制限を設定get(30)しているため、投稿ごとに15の投稿+15のカテゴリを表示するよりも2つのカテゴリがある場合です。

多対多のリストの本当の方法は何ですか?

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

php - Codeigniter Datamapper は、Post Data からオブジェクト属性を設定します

1 つずつ割り当てるのではなく、datamapper オブジェクトのすべての属性を自動的/動的に設定する方法はありますか?

したがって、私のフォーム フィールド名は、datamapper モデルの属性とまったく同じです。

これを行うためのより短い方法はありますか:

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

codeigniter - DataMapper CodeIgniter の 1 対 1 の関係

私はこのようなもので作業しようとしています:(ユーザーテーブルを分割する必要があります)

ここでの問題は、テーブルから来ていますusers_infos。フィールドがないIdと、更新に save メソッドを使用できません。user_id列をに書き換えようとしましidたが、 から外部キーを失いましたDataMapper。これを修正する最善の方法は何ですか?

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

php - CodeigniterDatamapperの多対多の関係

DataMapperを使用してモデルに関係を設定していますが、壁にぶつかりました。

私には、多対多の関係を持つクラスRealEstateClientクラス、クラスがあります。Position

  1. ClientPosition「バイヤー」をRealEstate
  2. 同じものが別の「売り手」Clientを持つことができますPositionRealEstate

したがって、特定の場合、それに接続されているRealEstateすべてのを見つけるのは簡単ですが、特定のクライアントが持っているものClientsを含めるにはどうすればよいですか?PositionRealEstate

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

php - CodeIgniter / Datamapper:同じテーブルへの2つの1対多の関係が機能しない

CodeigniterのDataMapperとの関係でこの問題が発生しています。とがあるInterviewモデルがありauthor_idますinterviewee_id。これらは両方とも、ユーザーモデルのユーザーIDに関連しています。

私はいくつかのアプローチを試みてきましたが、どれもうまくいきません。これは私が今持っているものです:

author_id1つの関係がを通過し、もう1つの関係が通過することをDataMapperに通知するにはどうすればよいinterviewee_idですか?

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

php - CodeIgniter と DataMapper

ここでいくつかの異なる投稿を読みましたが、何が間違っているのかわかりません。

私のDBは次のように設定されています:

次に、私のモデルはこのように凝縮されます。

次に、コントローラーは以下を使用します。

これら 2 行をコメント アウトすると、標準の CI 戻り配列が得られます。

そうしないと、サーバーエラーが発生します。DataMapper を使用するのはこれが初めてで、すべてが間違っているとほぼ確信していますが、どこから始めればよいかわかりません。

アップデート:

私は自分の問題を理解しました。addressDBテーブルを変更する必要がaddressesあり、address.phpモデルで指定する必要がありましたvar $table = 'addresses';

それはすべてを修正しました。

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

php - 多対多のDataMapperCodeIgniter

私は立ち往生していて、ドキュメントを読んでも私を助けていないようです。

私は1対多の関係を持っていますが、もっと簡単な方法があると確信していますが、多対多の関係に関しては行き詰まっています。

私はかなり多くのことを試しましたが、基本的に3つのテーブルがあります。

モデルをかなりの数の異なる方法でセットアップしました。

そして、の基本バージョン

問題は、家に関連付けられている複数のレコードを取得する方法がわからないことです。

アイテムのグループではなく、単一のアイテムになってしまいます。

出力例:

私は取得しようとしています

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

codeigniter-datamapper - データマッパー ORM で多対多の関係を保存する - Codeigniter

私は初心者です。ここで、多対多の関係を 3 つのテーブル (テーブル A 、テーブル Ab 、テーブル B) に保存するにはどうすればよいですか? 今、新しい ID を持つ新しいレコードをテーブル A に保存しようとしています。テーブル A の ID に応じて、それらを中央のテーブル AB に保存したいテーブル B の ID がいくつかあります。親切に共有してください。例: