在我的 laravel 應(yīng)用程序中,我有一個 json 文件,我用它來將一些產(chǎn)品播種到我的數(shù)據(jù)庫中。出于某種原因,當(dāng)我嘗試保存產(chǎn)品時,我正在為標(biāo)題和productcategory_id字段插入空值,即使認(rèn)為數(shù)組值在那里,json也會轉(zhuǎn)換為具有json_decode的數(shù)組。這是我的邏輯:<?phpuse Illuminate\Database\Seeder;use App\Models\Product;class ProductsSeeder extends Seeder{ public function run() { $json = File::get(base_path().'/json/Products.json'); $products = json_decode($json, true); var_dump($products); foreach ($products as $product) { echo($product['title']); echo($product['productcategory_id']); $product = new Product(); $product->title = $product['title']; $product->productcategory_id = $product['productcategory_id']; $product->save(); } }}我的 json 文件摘錄:[ { "productcategory_id" : 1, "title":"Hamb.Ternera Maxi"}, { "productcategory_id" : 1, "title":"Hamb. Ternera Doble"}, { "productcategory_id" : 1, "title":"Hamb. Pollo"}, { "productcategory_id" : 1, "title":"Hamb. Mini"}, { "productcategory_id" : 1, "title":"Camp. clásico"}, { "productcategory_id" : 1, "title":"Camp. ternera"}, ]正如你所看到的,我使用var_dump來查看json數(shù)據(jù)是否正確轉(zhuǎn)換為php assoc數(shù)組,bt我仍然收到錯誤。我的 shell 中的完整錯誤消息是: Illuminate\Database\QueryException : SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'title' cannot be null (SQL: insert into `products` (`title`, `productcategory_id`, `updated_at`, `created_at`) values (, , 2020-02-16 20:25:51, 2020-02-16 20:25:51))
1 回答

繁星淼淼
TA貢獻1775條經(jīng)驗 獲得超11個贊
問題可能是您正在使用相同的變量來循環(huán)并獲取值。試試像這樣:
foreach ($products as $product)
{
echo($product['title']);
echo($product['productcategory_id']);
$product_n = new Product();
$product_n->title = $product['title'];
$product_n->productcategory_id = $product['productcategory_id'];
$product_n->save();
}
- 1 回答
- 0 關(guān)注
- 117 瀏覽
添加回答
舉報
0/150
提交
取消