問題タブ [yii-cmodel]
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 - Yii、複数のMANY_MANY関係
わかりました。2つのモデルがあります。
1:pv_array(太陽光発電アレイ)2:モジュール(太陽光発電モジュール)
それらの両方の間にMANY_MANY関係があります:
問題は、モジュールを配列に追加するときに、同じモジュールの複数のインスタンスを配列に追加する機能が必要なことです...データベーステーブルmodule_to_arrayを確認すると、複数のエントリが存在するため、これは問題なく実行できます。
ただし、次のように配列内のモジュールにアクセスします。
モジュールの単一のインスタンスのみをカウントし、存在するモジュールの複数のインスタンスはカウントしません... ??
たとえば、3 xModuleXYZと2xModuleABCをArray1に追加した場合、次のようになります。
エコーしたい場所5
何か案が?
php - Yii で CreatedBy と UpdatedBy を追跡する
私はこのようなデータベースを持っています
すべてが正常に機能しています。今、グループ テーブルを拡張し、and のような追加フィールドを追加created_by
しましupdated_by
た。これにより、誰が作成し、誰が変更を行ったかを追跡できます。何をすべきか、どのように行うべきかを達成するには?ヘルプと提案は非常に高く評価されます。
php - Yii マルチモデル形式の actionUpdate()?
Yii マルチモデル フォームでは、単一のビューで 2 つのモデルのフォームを作成するために actionCreate() を使用しました。? 一例を挙げましょう。データベースはこのようなものだと考えてください。
したがって、プロジェクト コントローラの actionCreate() では、コードは次のようになります。
これで、両方のモデルを作成する準備が整いました。では、actionView()
とで何をactionUpdate()
すればよいのでしょうか? 両方のモデルを宣言する方法は?
activerecord - ActiveRecord検索は「構文エラーまたはアクセス違反」エラーを返します
siteconfig
私のYiiアプリケーションには、テーブルを表すモデルがあり、4つの列があります。
- 整数
config_id
、 - 文字列
key
、 - 文字列
value
、 - 文字列
update_time
。
Giiを使用してモデルを作成しました(間違いを犯さないようにするため)。ここではコード全体を公開していません。これは、Giiによって生成された標準モデルコードである私が100%変更していないためです。私の問題は検索に関連しているので、生成されたコードの重要な部分(search()
メソッド)のみを公開します。
私は生成されたモデルを通常のYiiActiveRecord検索で次のように使用しようとしています:
しかし、期待される検索結果を取得する代わりに、奇妙な(私にとって)エラーが発生します:
CDbCommandはSQLステートメントの実行に失敗しました:SQLSTATE [42000]:構文エラーまたはアクセス違反:1064SQL構文にエラーがあります。1行目の'key='sitename'LIMIT 1'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。実行されたSQLステートメントは次のとおりです。SELECTvalue FROM
siteconfig
t
WHERE key =:key LIMIT 1
どこで私は間違えましたか?
php - Yii モデル: Yii モデルでの動的テーブル名の使用
(後で)複数のデータベースを使用するYiiモデルがあり、テーブルプレフィックスはコードに基づいています。
例えば:
AMI_tablename、BMI_AMI_tablename など
これらのすべてのテーブルは同じですが、異なるデータベースにあります。
実行時に動的テーブル名を Yii モデルに提供する方法を知りたいですか?
セッター関数を使用しようとしましたが、親クラス CActiveRecord は子モデル クラスから値を取得しないため、エラーが発生します。
ここに私のモデルコードがあります(私が問題を抱えている部分のみ)
今、私のコントローラーのどこかに
しかし、エラーが発生するのは次のとおりです。
tableName() メソッドが CActiveRecord によって呼び出されると、$prefix が取得されないようです。
php - Yiiでカスタムゲッターを実装しますか?
私はYiiと協力していますが、次のような状況にあります。
MySQLテーブルがあります:
次に、このテーブルのモデルを取得します。そして最後に、作成、一覧表示、管理、更新、表示のビューがあります。
管理ビューとビュービューで、value
2つの10進数でフォーマットされたフィールドを表示したいと思います。これを行うための1つのオプションは、ビューと管理ファイルで番号をフォーマットすることです。モデルでメソッドを作成し、ビューで何もする必要がない方法はありますが、メソッド自体が数値のフォーマットを解決しますか?
ありがとう
php - YiiCGridのページ付けとCArrayDataProviderによる並べ替えが機能しない
モデルにカスタム関数を作成し、生データを返します。
$ campModel = $model->function。。
次に、CArrayDataProviderでこれらの行を使用します。
最後に、CGridを使用して表示しようとしています。
これはCGridのページング方法に関係していると思います...しかし私は迷子になっています助けてくれてありがとう:)
yii - yiiのActiveRecordとmodel()の違いは?
ActiveRecordとYIIのモデルの関係または違いは何ですか?
私はログに記録しようとしていて、is_object(CActiveRecord::model('Project'));
期待していfalse
ましたが、返されましたtrue
;
ロギングはそれがオブジェクトであることを示していたので、それはテーブルの行を表していると思いましたが、列を表す属性は見つかりませんでした。
また、 http: //www.yiiframework.com/doc/api/1.1/CActiveRecord#model-detailには、クラスのインスタンスが返されると記載されていますCActiveRecord
が、そのオブジェクトでテーブル行の値が見つかりませんでした。
php - Yiiで、Post :: model()-> findAll()の代わりにCActiveDataProviderを使用するのはなぜですか?
CActiveDataProvider
コントローラactionIndex()
機能で使用されているようです。
単にではなくこれを使用することに違いはありますPost::model()->findAll()
か?
php - Yiiモデルを更新する(DRY)関数はどこに保存すべきですか?
DomainとPageという 2 つの別個のモデルを持つ Yii アプリケーションがあります。ドメインには一意のフィールドがあるため、ルール ( ) を設定し'domain', 'unique'
、フィールドが新しい場合は新しいレコードを作成し、それ以外の場合は既存のレコードを使用して ID を返すアクションも作成します。
これは問題なく動作しますが、ページコントローラー内では、ページ挿入アクション中に同じ関数を呼び出したいと考えています。Yii でこれを行うための最適な DRY メソッドがわかりません。他のモデル コントローラーにアクセスできないため、ドメインMVCの内外でアクセスできるようにするために、この関数をどこに配置すればよいかわかりません。