1

私は新しいです。Lithium左結合を行うquery必要があります。これが必要です。

SELECT `title`,`body`,`user_id`,`users`.`username`,`users`.`id` 
FROM `posts` LEFT JOIN `users` 
        ON `user_id` = `users`.`id`

私はこのようなことをしようとします。

  $conditions['user_id'] = $this->data['user_id'];
                $posts = Post::all(array(
                  'conditions' => $conditions,
                  'fields' => array('title','body','username'),
                  'join' => array('source' => 'posts', 
                  'type' => 'LEFT',
                  'constraint' => array('post.user_id' => 'Users.id')), 
                     ))->data();
4

1 に答える 1

1

Lithium でリレーションシップを使用する方法を説明する優れたチュートリアル (例としてブログを使用)がありますJOINS

公式ドキュメントとこの回答を確認することもできます:リチウム モデルで結合を実行するにはどうすればよいですか?

モデルにリレーションシップを設定したら、次のように簡単に実行できます。JOINS

$posts = Posts::find('all', array(
    'with' => 'Users'
));

Lithium にはいくつかの異なるタイプのリレーションシップがあり、それらは大まかに異なるタイプのJOINS...

  • hasOne : 現在のオブジェクトは、別のタイプの単一のオブジェクトにリンクされています
  • hasMany : 現在のオブジェクトは、別のタイプの多くのオブジェクトにリンクされています
  • belongsTo : 現在のオブジェクトが所有されており、別のオブジェクトに関連しているとマークされています
于 2012-08-29T20:56:59.737 に答える