1

我只是在尝试用户 hasMany Posts 的 hasMany 关系中最简单的示例。保存帖子以供测试时,user_id 在视图代码中是硬连线的。

问题:

  1. 文档数据库/mongodb 的 Lithium 0.11 版本是否支持关系?
  2. 控制器应返回属于用户的帖子,但没有返回
  3. 假设 $users 从帖子返回连接数据, $user->posts 是访问它的正确方法吗?

    class PostsController extends \lithium\action\Controller {      
    public function index() {
    $posts = Posts::find('all', array('with' => 'Users'));        
    $users = Users::find('all',array('with' => 'Posts'));        
    return compact('posts','users');      
    }
    public function add() {
        $success = false;
        if ($this->request->data) {
            $post = Posts::create($this->request->data);
            $success = $post->save();
        }
        return compact('success');
    }
    

模型类:

    class Posts extends \lithium\data\Model {
    public $belongsTo = array('Users' => array(
                                            'key'=>'user_id'));
}

    class Users extends \lithium\data\Model {
    public $hasMany = array('Posts');

}

索引视图打印出帖子以及拥有属于他们的帖子的用户。

<?php foreach($posts as $post): ?>
<article>
    <h1><?=$post->title ?></h1>
    <p><?=$post->body ?></p>
    <p><?=$post->user_id ?></p>
</article>
<?php endforeach; ?>
<hr/> <hr/>
<?php foreach($users as $user): ?>
<article>
    <h1><?=$user->name ?></h1>
    <p><?=$user->_id ?></p>
    <p><?=$user->posts ?></p>
</article>
<?php endforeach; ?>
4

0 回答 0