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

从 CSV 导入到 Laravel

从 CSV 导入到 Laravel

PHP
梵蒂冈之花 2022-12-03 10:35:08
我正在尝试导入大量记录。记录位于 .CSV 文件中。记录应转到“DocCertification”哪个模型。记录具有依赖于其他模型的字段。我所做的是创建一个使用TestController. 我收到错误:试图获取非对象的属性“n_matriculated”但我也明白了public function getCustomerId()。我不知道我做错了什么。<?phpnamespace App\Http\Controllers;use App\DocCertification;use App\MatProfessionalDetail;use App\AuxCustomer;use App\AuxItem;use Illuminate\Http\Request;class TestController extends Controller{    public function import(){        $path = public_path('certificaciones.csv');        $lines = file($path);        $utf8_lines = array_map ('utf8_encode', $lines);        $array = array_map(function($v){return str_getcsv($v, ";");}, $utf8_lines);        for ($i=1; $i < sizeof($array) ; $i+1){            $certification = new DocCertification();            $certification-> date = $array[$i][0];            $certification-> n_matriculated = $this->getMatriculatedId($array[$i][1]);            $certification-> customer = $this->getCustomerId($array[$i][2]);            $certification-> n_invoice = $array[$i][3];            $certification-> item = $array[$i][4];            $certification-> mod = $this->getModId($array[$i][5]);            $certification-> obs = $array[$i][6];            $certification-> save();        }    }    public function getMatriculatedId($matriculatedID)    {        $matriculated = MatProfessionalDetail::where('n_matriculated', $matriculatedID)->first();        return $matriculated->n_matriculated;    }    public function getCustomerId($customerID)    {        $customer = AuxCustomer::where('customer', $customer)->first();        if($customer){            return $customer->name;        }        $customer = new AuxCustomer();        $customer-> name = $customerID;        $customer-> cuil_cuit = 'CUIT';        $customer-> c_c_number = 0;        $customer-> dni = 0;        $customer-> save();        return $customer->name;    }我不明白我应该做什么。这是它显示的错误:
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

您在$matriculated变量中没有得到任何东西。在返回之前尝试检查它。



查看完整回答
反对 回复 2022-12-03
  • 1 回答
  • 0 关注
  • 61 浏览

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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