3

CakePHP 関数では、関数を次のeditように使用read()します。

$this->data = $this->Article->read(null, $id);

のすべてのフィールドをもたらします$id。今、read()ログインしているユーザーがそれに関連している場合にのみ記事を取得するために、もう1つの条件を与えるために微調整しようとしています。

例えば:

 $this->Article->user_id = $user_id;
 $this->Article->id = $id;
 $this->Article->read();

そして明らかに、 wrt (主キー)read()のみのデータをもたらすように働きたいと思っています。$id

私の質問:

  1. 以上の条件で読み取り関数を微調整する方法はあります$idか? それが機能する場合、すべてのコントローラーに1行追加するだけでよいのでしょうか?
  2. または、 find() 関数の長いコードを使用して、唯一のオプションを取得する必要がありますか?

どんな最善の解決策も評価できるでしょう。

4

2 に答える 2

0

find()条件付きで検索したい場合に使用する必要があります。別のオプションは、条件が保持されている場合にのみデータを読み取ることです。

$this->Article->id = $id;
if( $this->Article->field( 'user_id' ) == $user_id ) {
    $this->Article->read();
}

(は自動的にread()入力$this->dataされます。)

于 2011-09-22T12:34:20.073 に答える