laravel 5.2->Fatal error: Call to a member function posts() on null
laravel 5.2->Fatal error: Call to a member function posts() on null
请帮帮我。我是 laravel 5.2 的新手。我不知道为什么我会收到这种 error:Fatal error: Call to a member function posts() on null
这是我的 postController 文件。
<?php
namespace App\Http\Controllers;
use App\post;
use Illuminate\Http\Request;
class postController extends Controller
{
public function createPost(Request $request)
{
//validation..
$post= new Post();
$post->body= $request['body'];
$request->user()->posts()->save($post);
return redirect()->route('dashboard');
}
}
这是我的 Post.php 文件
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function user()
{
return $this->belongsTo('App\user');
}
}
我的User.php文件
<?php
namespace App;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
class User extends Model implements Authenticatable
{
use \Illuminate\Auth\Authenticatable;
public function posts()
{
return $this->hasMany('App\post');
}
}
提前致谢。
是否有可能您尚未登录您的应用程序,这就是为什么当您致电时:
$request->user()->posts()->save($post);
user() 仍然为 null,因此不会引用 posts() 关系?
编辑:
要检查您是否已登录,您可以说:
if(Auth::user()){
//do something here...
}
此外,我认为您不应该那样保存 Post。如果你想在你的 post 上添加 user_id 你可以说:
$post->user()->associate(Auth::user());
$post->save();
请帮帮我。我是 laravel 5.2 的新手。我不知道为什么我会收到这种 error:Fatal error: Call to a member function posts() on null 这是我的 postController 文件。
<?php
namespace App\Http\Controllers;
use App\post;
use Illuminate\Http\Request;
class postController extends Controller
{
public function createPost(Request $request)
{
//validation..
$post= new Post();
$post->body= $request['body'];
$request->user()->posts()->save($post);
return redirect()->route('dashboard');
}
}
这是我的 Post.php 文件
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function user()
{
return $this->belongsTo('App\user');
}
}
我的User.php文件
<?php
namespace App;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
class User extends Model implements Authenticatable
{
use \Illuminate\Auth\Authenticatable;
public function posts()
{
return $this->hasMany('App\post');
}
}
提前致谢。
是否有可能您尚未登录您的应用程序,这就是为什么当您致电时:
$request->user()->posts()->save($post);
user() 仍然为 null,因此不会引用 posts() 关系?
编辑:
要检查您是否已登录,您可以说:
if(Auth::user()){
//do something here...
}
此外,我认为您不应该那样保存 Post。如果你想在你的 post 上添加 user_id 你可以说:
$post->user()->associate(Auth::user());
$post->save();