問題タブ [yii2-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 に答える
54 参照

yii - デフォルトのエンドポイントに加えて、カスタム エンドポイントを作成します

私はこのチュートリアルに従っています

http://learncooltech.com/yii2-angular-how-to-create-single-page-application-in-minutes/

このチュートリアルが機能するようになり、GET /books: list all books page by page; が表示されるようになりました。

ただし、いくつかのエンドポイントを作成したいので、コントローラーにメソッド テストを追加しましたが、404 が返されます。これが私のコントローラーです。

これをurlRuleとして持っています

そして私はやっています

エンドポイントにたどり着く

そして私はこれを得る

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

yii2 - Yii2 でデフォルト値を保存できない

更新または作成中にこの次の日時を保存したいので、これを rules() に書きました

create 関数と update 関数でシナリオを次のように宣言します。

datetimeストアを完全に作成していますが、更新ではストアではありません。問題は何ですか??誰か?

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

php - 2つの日付間のYii2日時差の計算と差をdbに挿入する

ここに画像の説明を入力

タスク テーブルには 3 つのフィールドがあります-> expected_start_datetime、expected_end_datetime、time_allocated タスクの作成中に、予想される開始日時と終了日時が選択され、レコードに保存されます。

私がやろうとしているのは、時間と分で2つの日付の違いを見つけ、タスクの作成中に「time_allocated」内に値を保存し、後で更新または表示ページでレコードから割り当てられた時間値を使用/表示することです.

タスクコントローラーアクションの作成でこのようなことを試してみてください

ここに画像の説明を入力

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

php - Yii2 の多対多関係での基本的な CRUD 操作の方法は?

Yii2 を始めたばかりの皆さん、こんにちは。Yii2 の学習を始めたばかりで、バックエンドで多対多の関係がある場合に CRUD 操作を使用しなければならない状況に陥りました。私はそれを解決しようとしていましたが、どうすればこれができるのか理解できませんでした。以下に、テーブルとコードの構造を書いています。


1. test_role
        id -> 最初の列
        role_name -> 2 番目の列

2. test_user
        id -> 基本列
        user_name

3.user_role id -
        > 主キー
        user_id -> 外部キー (test_user の主キー)
        role_id -> 外部キー (test_role の主キー)

また、ロールとユーザーの間に多対多の関係があるということは、ユーザーが複数のロールを持つことができ、ロールを複数のユーザーに割り当てることができるということです。これに基づいて、次のモデルを作成しました。

モデル 1 TestRolephp

モデル 2 TestUser.php

以下はコントローラーです Controller 1 TestUserController.php

2 番目のコントローラー TestRoleController.php

今私が欲しいのは、両方のテーブルにデータを挿入したいということです。新しいユーザーを作成するときに、すべてのロールのリストが表示され、各ロールの前にチェックボックスが表示され、その逆も必要です。どんな助けでも私を大いに助けることができます。

私のビューファイルは-> create.phpです

そして、TestUserController.php のアクションを作成します

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

yii - Yii2、アクティブな投稿をしているユーザーを見つける

私は関係のあるテーブルを持っuserています:postoneToMany

投稿モデル:

そしてユーザーモデルでは:

少なくともアクティブな投稿があるすべてのユーザーを検索したい。しかし、私には考えがありません。

私のターゲットSQL:

私は何をしますか?

注意:検索モデルで使用したいので、find()で作成することが重要です

ありがとう。

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

search - 検索モデルを使用せずにグリッドビューで検索フィールドを作成する方法

コントローラーで sqlDataProvider を作成し、その動作を確認しました。私の問題は、検索モデルを使用していないため、検索フィールドを提供する方法がわからないことです。

これは私のコントローラーのコードです

これは私の見解です

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

php - フォーム送信モデルの Yii2 がリダイレクト後に null になる

フォームの送信時に、コントローラーでモデルが見つかった場合、ビューは設定されたフラッシュ メッセージと共にレンダリングされますがhello <?= $model->username; ?>、該当する場合のようにカスタマイズされたメッセージもレンダリングされます。

return $this->refresh();フォームの再送信を防ぐために追加するのが楽しいと判断するまで、すべてがうまくいきました。Trying to get property of non-objectモデルとして最終的にビューをスローするのは当然nullです。

ご覧のとおり、redirect メソッドによって render メソッドが実行されないため、モデル変数がビューに送信されません。

私は POST http メソッドを使用していますが、必要に応じて GET に変更できると思います。これを作り直す方法はありますか?

コントローラ

見る

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

rest - 1 つの属性値を変更する Yii2 REST API

を使用して Yii2 で REST API を作成しましたActiveControlleractionIndexすべてのモデルを返すのデフォルトの実装。私がやりたいことは、応答を送信する前に 1 つの属性の値を変更することです。たとえば、データベースに保存された名前だけで画像をアップロードしました。応答を送信する前に、ベース URL に画像名を埋め込みたいと考えています。インデックス メソッド全体をオーバーライドする必要がありますか、actionそれともメソッド内の単一の属性を操作できますか?

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

php - Yii2 多対多モデルの関係

私は 2 つの yii2 モデル間で多対多の関係を実装しました: スライダー、イメージ、sliders_images ここで、sliders_images はジャンクション テーブルです。各モデルは Gii によって生成された基本モデルを拡張するため、必要なときに個人的な方法を失わずに基本モデルを上書きできます。
Slider.php

Images.php

SlidersImages.php

関数 link() を使用して、スライダーの作成時にジャンクション テーブルにデータを入力すると、すべて正常に動作しますが、スライダーの ActiveRecord オブジェクトから画像を取得しようとすると問題が発生します ( Yii2 ドキュメント)。

ビューで $images 変数をデバッグすると、これは null になり、関連する画像が含まれません。リレーションで適切なアクセス権を取得するためのモデルを設定するにはどうすればよいですか?

編集:
スライダー画像にアクセス してjuncyionテーブルの行を取得しようとすると:正常に$slider->sliderImage動作し、画像行へのアクセスを逃します。

スライダーテーブル


sliders_images テーブル


画像テーブル

編集2:

デバッガーからのデータベース シーケンス: