Я пытаюсь использовать этот API для заполнения моей базы данных mysql, и мне нужно обновить, если появятся «new itens», и обновить все цены.У меня уже есть внутренняя структура для этих сценариев, но мне нужно отделить имя от цены каждого элемента.
API (вы можете открыть в браузере): https://api.csgofast.com/price/all
Как я могу сделать это, например, лучшим способом?
Я пытался взорвать на ":", но есть такие случаи:
"Prismatic: Miasmatic Grey": 39.48,
Так что взрыв неработа.
Спасибо за совет.
Код:
protected function populateItems()
{
$items = json_decode(file_get_contents(API_URL));
foreach($items as $item) {
Item::create([
'name' => $i[0],
'price' => $i[1]
]);
}
die('end');
}
И я тоже это попробовал, но на ":"
protected function populateItems()
{
$body = file_get_contents(API_URL);
$items_parsed = str_replace('{', '', $body);
$items_converted = str_replace('}', '', $items_parsed);
$items = str_getcsv($items_converted);
foreach($items as $item) {
// Item::create([
// 'name' => $i[0],
// 'price' => $i[1]
// ]);
}
echo 'Fim da execução.';
die;
}
ничего не получилось
Ответный ответ:
object(stdClass)#470 (15689) { ["Sticker | Counter Logic Gaming (Foil) | MLG
Columbus 2016"]=> float(2.14) ["Sticker | RUBINO (Foil) | Cologne 2016"]=>
float(1.26) ["P2000 | Granite Marbleized (Well-Worn)"]=> float(0.01) ["★ Bayonet
| Fade (Minimal Wear)"]=> float(226.55)