Запросите две таблицы и объедините результаты на основе созданного_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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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