我正在开发一个从xml文件中提取数据然后将其解码为json的API,如何在控制器中显示store方法?
我已经尝试使用下面的代码将json存储到我的数据库中,但是我无法确定json是否保存到数据库中。我的表中插入了一条空记录。
public function store(Request $request)
{
$fileContents = file_get_contents('/path/to/my.xml');
$simpleXml = simplexml_load_string($fileContents);
$json = json_encode($simpleXml, true);
Vacancy::create(json_decode($json, true));
}
这是my.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<exportData>
<requisition>89777</requisition>
<position_title>Data Telecommunication Technician</position_title>
<experience>5 - 7 Years</experience>
</exportData>
这是我的空缺模式
class Vacancy extends Model
{
protected $fillable = ['requisition', 'position_title', 'experience'];
我知道索引方法看起来像这样
public function index()
{
$vacancies = Vacancy::all();
return $this->respond([
'data' => $this->vacancyTransformer->transformCollection($vacancies->all())
]);
}
这是我的VacancyTransformer课程
class VacancyTransformer extends Transformer
{
public function transform($vacancy)
{
return [
'requisition' => $vacancy['requisition'],
'position' => $vacancy['position_title'],
'workExperience' => $vacancy['experience'],
];
}
}
这是我的Transformer类
abstract class Transformer {
public function transformCollection(array $items)
{
return array_map([$this, 'transform'], $items);
}
public abstract function transform($item);
}