Controller :
public function index() {
$data = DB::table('tusers','tbills','tpackages')
->join('tbills', 'tusers.user_id', '=', 'tbills.user_id')
->join('tpackages', 'tbills.package_id', '=', 'tpackages.package_id')
->select('tusers.user_id','tusers.company_name','tusers.first_name', 'tbills.account_no', 'tpackages.package_name','tbills.start_date','tbills.end_date','tbills.bill_status')
->get();
return View::make('account')->with('data',$data);
}
`
查看:
@forelse($data as $value)
<td>{{ $value->user_id }}</td>
<td>{{ $value->company_name }}</td>
<td>{{ $value->first_name }}</td>
<td>{{ $value->account_no }}</td>
<td>{{ $value->package_name }}</td>
<td>{{ $value->start_date }}</td>
<td>{{ $value->end_date }}</td>
<td>{{ $value->bill_status }}
我想从 packagecontroller 调用 $data 到 account.blade 但是有一个错误
SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "tusers" does not exist
LINE 1: ... "tbills"."end_date", "tbills"."bill_status" from "tusers" i...
^ (SQL: select "tusers"."user_id", "tusers"."company_name", "tusers"."first_name", "tbills"."account_no", "tpackages"."package_name", "tbills"."start_date", "tbills"."end_date", "tbills"."bill_status" from "tusers" inner join "tbills" on "tusers"."user_id" = "tbills"."user_id" inner join "tpackages" on "tbills"."package_id" = "tpackages"."package_id")
感谢您的帮助。
最佳答案
从 table()
中删除另外 2 个表名。像这样。
public function index() {
$data = DB::table('users','bills','packages')
->join('bills', 'users.id', '=', 'bills.user_id')
->join('packages', 'bills.package_id', '=', 'packages.id')
->select('users.id','users.company_name','users.first_name', 'bills.account_no', 'packages.package_name', 'bills.start_date', 'bills.end_date', 'bills.bill_status')
->get();
return view('account', ['data' => $data]);
}
请介意栏目命名。我可能更改了一些名称,因此您必须确保您的名称正确无误。
在你看来
@foreach( $data as $value )
<td>{{ $value->company_name }}</td>
...
@endforeach
您似乎跳过了一些步骤。通过这个免费视频系列正确学习如何使用 Laravel:https://laracasts.com/series/laravel-from-scratch-2017
关于php - 从 Controller 调用数据库中的数据以使用 laravel 查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42499444/