你好我是 laravel 的新手。出于我的项目目的,我有一个功能可以在数据库中上传 pdf 文件。但数据未存储在数据库中。
这是我尝试的代码=
控制器-
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Auth;
use DB;
class PostsController extends Controller
{
public function index()
{
$id = Auth::id();
$user = DB::table('users')->find($id);
return view('posts', ['user' => $user]);
}
public function __construct()
{
$this->middleware('auth');
}
public function store()
{
//dd(request()->all());
$data = request()->validate(['pcaption' => 'required']);
Auth()->user()->posts()->create($data);
dd(request()->all());
}
}
模型-
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class post extends Model
{
protected $guarded = [];
public function user()
{
return $this->belongsTo(User::class);
}
}
来自本地主机的错误-
Illuminate\Database\QueryException
SQLSTATE[HY000]: General error: 1364 Field 'post' doesn't have a default value (SQL: insert into `posts` (`pcaption`, `user_id`, `updated_at`, `created_at`) values (bh, 3, 2020-04-17 17:42:53, 2020-04-17 17:42:53))
这意味着发布数据没有保存在数据库中。哪里是我的错
繁花如伊
翻阅古今