我只是在尝试用户 hasMany Posts 的 hasMany 关系中最简单的示例。保存帖子以供测试时,user_id 在视图代码中是硬连线的。
问题:
- 文档数据库/mongodb 的 Lithium 0.11 版本是否支持关系?
- 控制器应返回属于用户的帖子,但没有返回
假设 $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; ?>