Запросите две таблицы и объедините результаты на основе созданного_atPhp

Кемеровские программисты php общаются здесь
Anonymous
Запросите две таблицы и объедините результаты на основе созданного_at

Сообщение Anonymous »

У меня есть две таблицы: города и города.

Мне нужно запросить эти две таблицы, объединить их результаты, и упорядочите их по столбцам созданных_at. Кроме того, мне нужно ограничить его до 25 результатов. Мне также нужно каким-то образом различать, какая запись принадлежит городам, а какая принадлежит городам, когда они отображаются в моем представлении.

Это то, что я делаю. на данный момент есть, но я не думаю, что это правильный способ сделать это:

Код: Выделить всё

$cities = City::orderBy('created_at', 'DESC')
->get();

$towns = Town::orderBy('created_at', 'DESC')
->get();

$results = array_merge($cities->toArray(), $towns->toArray());
usort($results, function($a, $b)
{
return $a['created_at'] < $b['created_at'];
});

return $results;
Проблема в том, что количество результатов не ограничивается 25. Я также не уверен, что это лучший способ сделать это.

Вторая проблема, которую мне нужно решить, — это отображение результатов в моем представлении. Мне нужен способ отличить, какая запись принадлежит какой таблице.

На мой взгляд, у меня есть что-то вроде:

Код: Выделить всё

@foreach ($results as $result)
@if (CHECK IF RESULT IS CITY)

@else (CHECK IF RESULT IS TOWN)

@endif
@endforeach
Как проверить, какая запись принадлежит какой таблице?

Подробнее здесь: https://stackoverflow.com/questions/398 ... created-at

Вернуться в «Php»