2016-10-05 45 views

答えて

0

は、主キーで単一のエンティティを取得するために一般的に使用されます。

$this->Models->get($id);//here $id is your tables primary key 

では、我々はデータを微を見つけます。

$this->Models->find('all');//get all the data 

$this->Models->find('all')->first(); //get the first row 

すべてのデータだけでなく、最初のデータの両方を検索するために使用することができます。あなたはDBソースからフィルタリング後のデータを取得するために必要として、あなたは条件を渡すことができfind()方法を使用する場合 ここで我々はまた置くことができる条件

は、より多くの情報

http://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html

+1

操作が結果を見つけられない場合は例外をスローする – arilia

+0

@ariliaはいこの例外をキャッチする必要があります – sradha

1

ために、このリンクに従ってください。 find('first')またはfind('all')->first()が同じ動作をしています。

しかし

get($id)は、テーブルの主キーフィールドに条件を適用しています。それは主キーの条件のためだけに1レコードの結果を与えることを意味します。

get()メソッドを使用すると、レコードがdbソースから見つからない場合、CakePHPはNOT Found例外をスローします。これは、NOT FOUNDとして応答を与えるときに非常に便利です - 404プロフィールページ、ブログの詳細ページなど。

0

find()は、Queryオブジェクトを構築するテーブルインスタンスに対して呼び出すことができ、それを返します。 where()->select()およびクエリオブジェクトは、怠惰であり、見つかった、あるいはまったく記録場合に例外を発見していないスローした場合、あなたがレコードを返しますall()toArray()first()firstOrFail()など、ここでhttps://book.cakephp.org/3.0/en/orm/query-builder.html

get($primaryKey, $options = [])一方より詳細な説明を呼び出​​さない限り実行されません内部的にクエリと呼び出しを構成しますfirstOrFail()

関連する問題