当我创建一个新的帖子并点击提交时,帖子数据会验证并持久保存到数据库中,但在返回视图中会出现Undefined variable: posts (View:/Users/charles/Desktop/Development/fiestas/resources/views/backend/posts/index.blade.php)错误。
因此,它说它是未定义的,但是当我清除页面并访问我的索引页面时,帖子按预期显示,没有错误。我从Rails移了过来,现在在Laravel还是很绿的。任何帮助是极大的赞赏。
App / Models / Post.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $guarded = [];
}
app / Http / Controllers / Backend / PostController.php
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use App\Models\Post;
class PostController extends Controller
{
public function index(Post $post)
{
$posts = Post::all();
return view('backend.posts.index', compact('posts'));
}
public function create()
{
return view('backend.posts.create');
}
...
public function store(Request $request)
{
$rules = [
'title' => ['required', 'min:3'],
'body' => ['required', 'min:5']
];
$request->validate($rules);
$user_id = Auth::id();
$post = new Post();
$post->user_id = $user_id;
$post->title = request('title');
$post->body = request('body');
$post->save();
return view('backend.posts.index');
}
}
杨__羊羊
Cats萌萌