0

単一の結果を返すクエリがあり、単一の結果に制限しているため、ループすることなくその結果のプロパティにアクセスする方法があるかどうか疑問に思っています。

これが私のクエリです:

$user = Model_User::find()
    ->where('email_address', Input::post('email_address'))
    ->where('password', Input::post('password'))
    ->limit(1);

結果にアクセスするために私が見つけた唯一の方法は、get()メソッドを実行し$userて結果をループすること$userです。単一の結果に制限しています。

これを行う最も効率的な方法は何ですか?

4

3 に答える 3

7

試しましたか

$user->get_one()?

于 2011-08-17T21:01:09.513 に答える
2

あなたもできる

$user = Model_User::find_by_email_address_and_password(Input::post('email_address'), Input::post('password'));

良い1日を :)

于 2012-10-18T15:32:14.280 に答える
0

UkuLoskitは正しい構文を尋ねます。常に単一の結果を取得する場合は、コードをマージできます。

$user = Model_User::find()
    ->where('email_address', Input::post('email_address'))
    ->where('password', Input::post('password'))
    ->get_one();

アドバイス:直接Input :: post('var_name')を使用する場合は注意が必要です。変数を保存する前に、検証を使用することをお勧めします。もう1つの方法は、すべての$_GET変数と$_POST変数に対して、htmlentities()などのアクションを実行するようにフレームワークを設定することです。

于 2011-09-09T07:15:13.897 に答える