我试图找到答案,但却很努力。我正在练习使用MVC。我能够将一个完整的表从数据库返回到视图并显示它的内容。我正在努力的是对同一数据库中的第二个表做同样的事情。有没有办法将两个单独的表返回到同一个视图中?如果我想将三个或更多单独表中的数据显示到同一页面(视图),该怎么办?怎么能这样做?我将不胜感激任何帮助和解释。如果我的解释不明确,请告诉我。
Controller DBController.php
namespace App\Http\Controllers\example;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
class DBController extends Controller
{
/**
* Show a list of all of the application's users.
*
* @return Response
*/
public function hakunamatata()
{
$tests = DB::table('somename')->get();
return view('pages.testcursorfollow', ['tests' => $tests]);
}
public function testowanie()
{
$checks = DB::table('somename2')->get();
return view('pages.testcursorfollow', ['checks' => $checks]);
}
}
我在web.php中的路线:(我知道'kursor'部分对于两者都不应该相同,但这是想法,将它们返回到同一视图;或者如果需要则返回三个或更多)
Route::get('kursor', 'example\DBController@hakunamatata');
Route::get('kursor', 'example\DBController@testowanie');
我的观点testcursorfollow.php:
<table style="border: 1px solid black;">
<tr>
<th>ID</th>
<th>col1</th>
<th>col2</th>
<th>col3</th>
<th>col4</th>
<th>col5</th>
</tr>
@if (isset($tests))
@foreach ($tests as $user)
<tr>
<td>{{$user->id}}</td>
<td>{{$user->col1}}</td>
<td>{{$user->col2}}</td>
<td>{{$user->col3}}</td>
<td>{{$user->col4}}</td>
<td>{{$user->col5}}</td>
</tr>
@endforeach
@endif
</table>
<table style="border: 1px solid black;">
<tr>
<th>ID</th>
<th>Name</th>
<th>Surname</th>
</tr>
@foreach ($checks as $check)
<tr>
<td>{{$check->id}}</td>
<td>{{$check->Name}}</td>
<td>{{$check->Surname}}</td>
</tr>
@endforeach
</table>
答案 0 :(得分:1)
你可以用compact来做到这一点。
例如:
function getStuff() {
$posts = DB::table('posts')->get();
$comments = DB::table('comments')->get();
return view('pages.testcursorfollow', compact('posts', 'comments'));
}