![](/img/trans.png)
[英]Laravel Lumen 5.7, debugbar throw Call to a member function listen on null
[英]laravel 5.7 Error: Call to a member function save() on null
我正在使用Laravel Framework 5.7.25
我正在嘗試由已經登錄的當前用戶創建一個帖子。
但我面臨這些錯誤:
在null上調用成員函數save() 會出錯:這是我的PostController:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Post;
class PostController extends Controller
{
public function postCreatePost(Request $request)
{
$post = new Post();
$post->body=$request['body'];
$request->user()->posts()->save($post);
return redirect()->route('dashboard');
}
}
這是郵政模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function user()
{
$this->belongsTo('App\User');
}
}
這是用戶模型
<?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()
{
$this->hasMany('App\Post');
}
}
您的user()
和posts()
關系未返回任何內容:
public function posts() {
$this->hasMany('App\Post');
}
需要成為:
public function posts() {
return $this->hasMany('App\Post');
}
和對user()
所做的相同調整。
我會稍微更改您的代碼,這應該可以工作:
class PostController extends Controller
{
public function postCreatePost(Request $request)
{
$request->user()->posts()->create($request->only('body'));
return redirect()->route('dashboard');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.