хранение данных json_decode от самого старого до самого нового в базе данных MySql

У меня есть этот код:

$url = 'http://example.com/523223.json?';
$json= file_get_contents($url);

$data = json_decode($json);
$rows = $data->{'items'};
foreach ($rows as $row) {
echo '<p>';
$title = $row->name;
$description = $row->description;
$link = $row->link;
$image_link = $row->thumbnails;

$path = $image_link->large;
$filename = basename($path);

try {
Image::make($path)->save(public_path('storage/posts/' . $filename));
} catch (\Intervention\Image\Exception\NotReadableException $e) {
Image::make($path)->save(public_path('storage/posts/' . 'https://lh3.googleusercontent.com/yI8LPDBhjvqLR1mQMitJlibZdWqaYAlMVUJK6zpBQkOb_Bk03qn_l2SQyn5yY__KZcY-=w300-rw'));
}

$post = new Post;
$post->title = $title;
$post->body = '..';
$post->excerpt = $description;
$post->meta_description = $link;
$post->image = 'posts/' . $filename;

$post->save();
}

И что он делает, так это захватывает контент из URL JSON и сохраняет его в базе данных, которая основана на LaraveL. поэтому проблема заключается в том, что он хранит данные от самых новых до самых старых, но я хочу сохранить элементы от самых старых до самых новых.
Это был первый вопрос, и второй вопрос: как заставить его хранить только самые новые, не дублировать уже сохраненные и проверять только новые?

0

Решение

Вот как это делается с помощью array_reverse:

$url = 'http://example.com/523223.json?';
$json= file_get_contents($url);

$data = json_decode($json);
$rows = $data->{'items'};
foreach (array_reverse($rows) as $row) {
echo '<p>';
$title = $row->name;
$description = $row->description;
$link = $row->link;
$image_link = $row->thumbnail;

$path = $image_link;
$filename = basename($path);

try {
Image::make($path)->save(public_path('storage/posts/' . $filename));
} catch (\Intervention\Image\Exception\NotReadableException $e) {
Image::make($path)->save(public_path('storage/posts/' . 'https://lh3.googleusercontent.com/yI8LPDBhjvqLR1mQMitJlibZdWqaYAlMVUJK6zpBQkOb_Bk03qn_l2SQyn5yY__KZcY-=w300-rw'));
}

$post = new Post;
$post->title = $title;
$post->body = '..';
$post->excerpt = $description;
$post->meta_description = $link;
$post->slug = $link;
$post->image = 'posts/' . $filename;

$post->save();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]