2016-11-14 13 views
0

ブログを作成する際に、ブログにデータベースを追加する前に、ユーザーIDを確認してユーザーIDを取得してブログデータベースに書き込むことができますこのユーザー。作成したオブジェクトのIDをユーザーIDと同じにする

しかし、もし私がサブブログを書こうとしたらどうなりますか?その場合は、追加する前に、コントローラに親ブログIDが必要です。 $ app-> user-> identityが動作する方法を得ることはできますか?

答えて

2

Yii :: $ app-> user-> identityは、ログインしたユーザーの情報を保持します。これは、Userオブジェクトのlogin()メソッドを呼び出すとYii2によって自動的に行われます。あなたが親ブログIDを自動的に取得する方法があるかどうかを尋ねる場合、答えはNoです。

ただし、サブブログの追加を担当するコントローラーアクションに親ブログIDを渡す方法はいくつかあります。次のようないくつかの方法が考えられます:

  1. 私はあなたがサブブログの詳細を入力するフォームをいくつか持っていると仮定しています。このフォームでは、既存の親ブログ(Blogテーブル)のリストを表示するドロップダウン(必須フィールド)を表示することができます。ユーザーはこのリストから親ブログを選択する必要があります。フォームの提出時には、コントローラのアクションの中に、親ブログのID値をドロップダウンするコードを簡単に書くことができます。
  2. ユーザーが親ブログをドロップダウンから選択するのではなく、ユーザーがリンク/ボタンをクリックしてサブブログを追加したときに、親ブログのID(クエリ文字列パラメータとして)を渡すことができます。また、サブブログを追加するフォームのページでは、親ブログIDをクエリ文字列から非表示フィールドに設定することができます。最後に、フォームの提出時に、コントローラーのアクションの中に隠れた入力フィールドから親ブログのID値を取得するコードを簡単に書くことができます。
関連する問題