你好我是 laravel 的新手。出于我的項目目的,我有一個功能可以在數(shù)據(jù)庫中上傳 pdf 文件。但數(shù)據(jù)未存儲在數(shù)據(jù)庫中。這是我嘗試的代碼=控制器-<?phpnamespace 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());}}模型-<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class post extends Model{ protected $guarded = []; public function user() { return $this->belongsTo(User::class); }}來自本地主機的錯誤-Illuminate\Database\QueryExceptionSQLSTATE[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))這意味著發(fā)布數(shù)據(jù)沒有保存在數(shù)據(jù)庫中。哪里是我的錯
2 回答

繁花如伊
TA貢獻2012條經(jīng)驗 獲得超12個贊
在您的數(shù)據(jù)庫表帖子列中選擇 as Not Null。出于這個原因,您會收到此錯誤。在您的遷移文件中,您應該使用它來解決您的問題
public function up(){
Schema::create('posts', function (Blueprint $table) {
....
$table->text('post')->nullable();
$table->timestamps();
});
}

翻閱古今
TA貢獻1780條經(jīng)驗 獲得超5個贊
不,這意味著您的“posts”表有一個名為“post”的列,并且該列沒有默認值并且不接受假定為 null。
所以你可以這樣解決這個問題:
create table posts ( ..., post varchar(10000) DEFAULT '' not null, ... );
- 2 回答
- 0 關注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消