【发布时间】:2017-11-23 04:32:22
【问题描述】:
我在文件夹 database\data\countries.json 中有 json 文件,并且我有 CountriesTableSeeder.php
我想将 countries.json 中的所有数据播种到我的表 Country 中。但是会出现错误Trying to get property of non-object
我已按照我找到的步骤进行操作,但仍然出现错误。
这是我的模型:
protected $fillable = ['country_name', 'iso_code'];
这是我的播种机代码:
public function run()
{
$countryJson = File::get("database/data/countries.json");
$data = json_decode($countryJson, true);
foreach ($data as $obj) {
Country::create(array(
'country_name' => $obj->name, 'iso_code' => $obj->sortname
));
}
}
【问题讨论】:
-
您是否通过测试
$countryJson的存在来确保您拥有该文件? -
是的,我有@user10089632 如果我没有该文件,我的命令提示符将显示错误
File does not exist at path database/data/countries.json -
你已经将json转换成数组,所以不会有对象
$obj->name -
那么,我该怎么办? @Rafee
-
print_r($data)然后退房。你会自动发现的。你需要关注@ankit的回答,希望能解决。