为了账号安全,请及时绑定邮箱和手机立即绑定

从 json 文件播种拉拉维尔应用时插入空值

从 json 文件播种拉拉维尔应用时插入空值

PHP
烙印99 2022-09-25 20:20:09
在我的 laravel 应用程序中,我有一个 json 文件,我用它来将一些产品播种到我的数据库中。出于某种原因,当我尝试保存产品时,我正在为标题和productcategory_id字段插入空值,即使认为数组值在那里,json也会转换为具有json_decode的数组。这是我的逻辑:<?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数据是否正确转换为php assoc数组,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条经验 获得超11个赞

问题可能是您正在使用相同的变量来循环并获取值。试试像这样:


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();

    }


查看完整回答
反对 回复 2022-09-25
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号