【发布时间】:2016-11-10 21:55:24
【问题描述】:
因此,我尝试使用 Laravel 中的模型工厂将数据从外部 api 而非默认 faker 播种到我的 dB 中,但我被卡住了。以下是我的代码:
$factory->define(\App\Models\State::class, function(){
$client = new Client();
$stateQuery = $client->get('http://states-and-cities.com/api/v1/states');
$states = $stateQuery->getBody();
$states = json_decode($states, true);
foreach ($states as $state) {
return [
'name' => $state['name'],
];
}
});
所以发生的情况是,预期的回报是只播种一条记录,但我需要它来播种整个记录。我该如何解决这个问题?
【问题讨论】:
-
您可以通过sql insert.running数组的for循环插入数据并插入每条记录。@FatimahSanni
-
这很明显,因为您在第一次迭代中使用
return完成了整个方法(函数、代码块)。删除return并将结果收集到缓冲区数组中。
标签: php laravel-5 guzzle laravel-seeding