问题描述
我使用 dd
获取数据值,它在索引 1 中具有值。
array:3 [▼
0 => "Title 1"
1 => "Content1"
2 => "Subcontent1"
]
但是当我运行错误返回:
未定义的偏移量:1
我的代码
class BlogsImport implements ToModel
{
use Importable;
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
// dd($row);
return new Blogs([
'title' => $row[0],'content' => $row[1],]);
}
}
解决方法
以这种方式更改您的代码
class BlogsImport implements ToModel
{
use Importable;
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
return new Blogs([
'title' => $row[0] ?? '',// or $row[0] ?? 'default_value'
'content' => $row[1] ?? '',// or $row[1] ?? 'default_value'
]);
}
}
,
我通过使用 dump
而不是 dd
来解决这个问题。结果发现有一些空单元格。
感谢@JustCarty 的提示。
public function model(array $row)
{
if ($row[0]) {
return new News([
'title' => $row[0],'content' => $row[1],]);
}
}