、彼らは同じ構造を持つ2つのテーブル、articles-1
とarticles-2
、
が
あり、各テーブルのid
が1
からです。Laravel:たとえば、クエリ2 `articles`テーブル、` id`紛争
私は2つのテーブルの記事を照会し、それらを1つのビューに表示したいと考えています。
ArticlesController.php
public function index()
{
$articles1=Article1::all();
$articles2=Article2::all();
//$allArticles=; //How to merge $articles1 and $articles2?
return view('index', compact('allArticles'));
}
index.blade.php
<ul>
@foreach ($allArticles as $article)
<li><a href="articles/{{$article->id}}">{{ $article->title }}</a></li>
<li>{{ $article->updated_at}}</li>
@endforeach
</ul>
質問:
1、ArticlesController
では、どのように$articles1
と$articles2
をマージするには?
2、すべてのアイテムにはshow
ページ(詳細ページ)へのリンクがありますが、おそらく同じものがid
です。どうすればよいですか?
更新:
show
方法のクエリを作成する方法?
ArticlesController.phpすべての
public function show($slug)
{
//query twice?
$newArticle = NewArticle::findOrFail($slug);
$oldArticle = OldArticle::findOrFail($slug);
//How to write next?
return view('show', compact('article'));
}
両方のテーブルに同じ列名がある場合は、両方のテーブルのレコードを取得するためのクエリビルダ –
@Sagar Gautam両方のテーブルをクエリする方法は?ドキュメントによると、1つのテーブルのクエリは次のようになります: '$ users = DB :: table( 'users') - > get();' https://laravel.com/docs/5.5/queries#retrieving-results – zwl1619
同じ列がある場合は、2つのクエリを結合し、最後にクエリを実行してデータを取得できます。 –