2 回答

TA貢獻1802條經驗 獲得超6個贊
您不需要加載整個模型來保存文章,您只需要一個 id,因此:
$article->country_id = country::where('name',$request->input('country'))->pluck('id')->first(); $article->category_id = category::where('name',$request->input('category'))->pluck('id')->first();
最后
$article->save();

TA貢獻1826條經驗 獲得超6個贊
SQLSTATE[HY000]:一般錯誤:1364 字段“country_id”沒有默認值
上述錯誤意味著每當您將數據插入數據庫時,您都沒有傳遞country_id的值和數據庫搜索默認值,并且您沒有在數據庫表中為country_id分配默認值。
試試這個,我在保存文章之前已經為country_id和category_id分配了值
public function store(Request $request)
{
$article = new article(
[
'title' => $request->input('title'),
'top_content' => $request->input('top_content'),
'quote' => $request->input('quote'),
'left_content' => $request->input('left_content'),
'right_content' => $request->input('right_content'),
]
);
if ($request->hasFile('article_slider_image')) {
$file = time() . '_' . $request->file('article_slider_image')->getClientOriginalName();
$destination = base_path() . '/public/images/articleSliderImages';
$request->file('article_slider_image')->move($destination, $file);
$article->article_slider_image = $file;
}
if ($request->hasFile('left_image')) {
$file = time() . '_' . $request->file('left_image')->getClientOriginalName();
$destination = base_path() . '/public/images/articleLeftImages';
$request->file('left_image')->move($destination, $file);
$article->left_image = $file;
}
if ($request->hasFile('right_image')) {
$file = time() . '_' . $request->file('right_image')->getClientOriginalName();
$destination = base_path() . '/public/images/articleRightImages';
$request->file('right_image')->move($destination, $file);
$article->right_image = $file;
}
$country = country::where('name',$request->input('country'))->first();
$category = category::where('name',$request->input('category'))->first();
$article->country_id = $country->id;
$article->category_id = $category->id;
$article->save();
return redirect()->route('article.index')->with('success', 'article created successfully' . $request->title);
}
- 2 回答
- 0 關注
- 151 瀏覽
添加回答
舉報