我有使用帖子和时间线的任务标题社交网络应用程序 我有一些问题
use App\Http\Controllers\Controller;
use App\Post;
use Illuminate\Http\Request;
class PostController extends Controller
{
public function postCreatePost(Request $request)
{
$post = new Post();
$post->body = $request['body'];
$request->user()->posts()->save($post);
return redirect()->('home');
}
}
这是我的帖子模型,请检查此代码
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function user (){
return $this->belongsTo('App\User');
}
}
答案 0 :(得分:0)
尝试更改
$post = new Post();
要
$post = new Post;
答案 1 :(得分:0)
1)改变:
$post->body = $request['body'];
为:
$post->body = $request->get('body');
2)这一行:$request->user()->posts()->save($post);
似乎也错了。
在您的用户模型中,您需要雄辩地告诉用户有很多帖子
public function posts()
{
return $this->hasMany('App\Post');
}
然后控制器中的那一行为id = 1
的用户; $user = User::find(1)
成为:
$user->posts()->save($post)
3)return redirect()->('home');
必须是return redirect()->route('home');
4)最后,花一些时间阅读laravel documentation