【发布时间】:2019-01-19 10:45:30
【问题描述】:
我试图让我的用户在我的社交媒体网站上发帖。我已经有一个“App\Models\Post”。怎么解决??
当我尝试提交帖子时也会出现错误,问题在于:“$post = new Post();”的行
好的,所以这里说我的帖子看起来主要是代码,所以我会写毫无意义的东西,所以这个简单的小东西消失了。我不是以英语为母语的人,所以如果您发现拼写或语法错误,请纠正我:)
这是我的控制器的代码:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Post ;
use App\User;
class PostController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('makePost');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function makePost(Request $request)
{
$this->validate($request, array(
'post' => 'required',
'title' => 'nullable|max:50',
'label' => 'nullable|max:25',
));
$post = new Post();
$post->post = $request->post;
$post->title = $request->title;
$post->label = $request->label;
$post->save();
return redirect()->route('index');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
这是我的帖子模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
public function Users() {
return $this->belongsTo(User::class);
}
}
【问题讨论】:
-
帖子模型应该是
namespace App\Models; -
你可以运行一个简单的命令来填充正确的命名空间,模型绑定,控制器名称,模型名称使用
php artisan make:controller PostController --resource --model=Models\Post