私は2つのテーブルcities
とtowns
を持っています。2つのテーブルを照会し、created_atに基づいて結果を結合する
私が行う必要があるのは、これらの2つのテーブルをクエリし、その結果を組み合わせて、created_at
列で並べ替えることです。さらに、私はそれを合計25の結果に制限する必要があります。私はまた、どのレコードがcities
に属し、towns
に属しているのかを私の見解に表示する際に区別する必要があります。
これは私が現時点で持っているものですが、私はそれを行うための正しい方法だとは思わない:
$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結果。私はそれが最善の方法であるかどうかも分かりません。
私が解決しなければならない第2の問題は、私の見解で結果を表示することです。どのレコードがどのテーブルに属しているかを区別する方法が必要です。
@foreach ($results as $result)
@if (CHECK IF RESULT IS CITY)
@else (CHECK IF RESULT IS TOWN)
@endif
@endforeach
どのように私はどのテーブルに属しているレコードを確認することができます。私の見解では
、私のようなものがありますか?
市と町との間に関連はありますか? – prateekkathal
唯一の関係は、町が大都市の近くにある場合、または大都市の中にある場合、 'towns'表に' city_id'列があるということです。 –