我想user_ID的與當前用戶進行轉讓,但它給我這個錯誤常規錯誤:1364字段「USER_ID」沒有默認值
SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a
default value (SQL: insert into `posts` (`updated_at`, `created_at`)
values (2017-04-27 10:29:59, 2017-04-27 10:29:59))
這裏是我的方法
//PostController
Post::create(request([
'body' => request('body'),
'title' => request('title'),
'user_id' => auth()->id()
]));
這些fillables
//Post Model
protected $fillable = ['title', 'body', 'user_id']
但是這種方法做的工作
//PostController
auth()->user()->publish(new Post(request(['title' ,'body'])));
//Post Model
public function publish(Post $post)
{
$this->posts()->save($post);
}
很明顯:字段'user_id'沒有默認值。在您的發佈表中,爲user_id設置爲空。或者在遷移$ table-> int('user_id') - > nullable();或者像Saman所說的那樣轉儲auth() - > id的值。順便說一句,我認爲這是auth() - > id沒有括號 –
它似乎'user_id'無法檢索。添加一些數字,而不是'auth() - > id()',並嘗試 – Saman
你是否得到了一些user_id的值,你有dd/echo user_id嗎? –