我在用户和帖子(用户模型和帖子模型)之间有一个简单的关系,我正在使用存储库。
<?php namespace St0iK\Storage\Post;
use Post;
class EloquentPostRepository implements PostRepository {
protected $errors;
public function all()
{
return Post::all();
}
public function find($id)
{
return Post::find($id);
}
public function create($input)
{
return Post::create($input);
}
}
在我的控制器中我有:
public function store()
{
// Get input from the form
$input = Input::all();
$input['user_id'] = (int)Auth::user()->id;
$p = $this->post->create( Input::all() );
if( $p->errors()->isEmpty() )
{
return Redirect::route('home')->with('flash', 'The new post has been created');
}
return Redirect::route('upload.create')->withInput()->withErrors($p->errors());
}
但是'post'没有插入数据库中。我得到验证错误(我正在使用Ardent)我的所有字段都丢失了! 但如果我在我的控制器中尝试类似的东西:
$user = User::find( (int)Auth::user()->id);
$user->posts()->save($post);
它运作得很好。
如何将此功能实现到我的Post Repository中,以便我可以插入一个带有相关用户的新帖子并传递user_id?