Php 拉威尔:我如何在一个控制器中访问两种不同型号的数据?
我正在尝试创建一个记录页面,页面显示学生记录。该记录将包括学生姓名(取自Php 拉威尔:我如何在一个控制器中访问两种不同型号的数据?,php,laravel,Php,Laravel,我正在尝试创建一个记录页面,页面显示学生记录。该记录将包括学生姓名(取自用户数据库)和课程名称(取自课程数据库)。现在我该怎么做呢。下面是我尝试过但不起作用的代码 srcontroller <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\User; use App\Course; class SRController extends Controller { /**
用户数据库
)和课程名称(取自课程数据库
)。现在我该怎么做呢。下面是我尝试过但不起作用的代码
srcontroller
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use App\Course;
class SRController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$records = User::all(),Course::all();
return view('records.index')->with('records', $records);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class UserAccountsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$accounts = User::all();
return view('users.index')->with('accounts', $accounts);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('users.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, [
'acctyp'=>'required',
'name'=>'required',
'surname'=>'required',
'gender'=>'required',
'dob'=>'required',
'email'=>'required',
'userid'=>'required',
'password'=>'required',
]);
$account = new User;
$account->acctyp = $request->input('acctyp');
$account->name = $request->input('name');
$account->surname = $request->input('surname');
$account->gender = $request->input('gender');
$account->dob = $request->input('dob');
$account->email = $request->input('email');
$account->userid = $request->input('userid');
$account->password = bcrypt($request->input('password'));
$account->save();
return redirect('/users')->with('success', 'New user successfully added!');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$account = User::find($id);
return view('users.show')->with('account', $account);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$account = User::find($id);
return view('users.edit')->with('account', $account);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$this->validate($request, [
'acctyp'=>'required',
'name'=>'required',
'surname'=>'required',
'gender'=>'required',
'dob'=>'required',
'email'=>'required',
'userid'=>'required',
'password'=>'required',
]);
$account = User::find($id);
$account->acctyp = $request->input('acctyp');
$account->name = $request->input('name');
$account->surname = $request->input('surname');
$account->gender = $request->input('gender');
$account->dob = $request->input('dob');
$account->email = $request->input('email');
$account->userid = $request->input('userid');
$account->password = bcrypt($request->input('password'));
$account->save();
return redirect('/users')->with('success', 'User successfully updated!');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$account = User::find($id);
$account->delete();
return redirect('/users')->with('success', 'User successfully removed!');
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Course;
class CoursesController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$courses = Course::all();
return view('subs.index')->with('courses', $courses);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('subs.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request,[
'course_code'=>'required',
'course_name'=>'required',
'course_desc'=>'required',
]);
$course = new Course;
$course->course_code = $request->input('course_code');
$course->course_name = $request->input('course_name');
$course->course_desc = $request->input('course_desc');
$course->save();
return redirect('/subs')->with('success','New course added!');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$course = Course::find($id);
return view('subs.show')->with('course', $course);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$course = Course::find($id);
return view('subs.edit')->with('course',$course);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$this->validate($request,[
'course_code'=>'required',
'course_name'=>'required',
'course_desc'=>'required',
]);
$course = Course::find($id);
$course->course_code = $request->input('course_code');
$course->course_name = $request->input('course_name');
$course->course_desc = $request->input('course_desc');
$course->save();
return redirect('/subs')->with('success','Course Updated!');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$course = Course::find($id);
$course->delete();
return redirect('/subs')->with('success', 'Course successfully removed!');
}
}
在各个型号中指定受保护的$connection
属性
您正在使用的模型将该表所在的数据库连接名放入其中
连接名称存在于config
文件夹中的database.php
文件中
像
也可以直接指定连接名称
User::on('connection-name')->all();
注
而不是$records=User::all(),Course::all()代码>
更新
return view('records.index')->with('records_user', $records_user)->with('records_course',$records_course);
在各个型号中指定受保护的$connection
属性
您正在使用的模型将该表所在的数据库连接名放入其中
连接名称存在于config
文件夹中的database.php
文件中
像
也可以直接指定连接名称
User::on('connection-name')->all();
注
而不是$records=User::all(),Course::all()代码>
更新
return view('records.index')->with('records_user', $records_user)->with('records_course',$records_course);
您应该尝试以下代码:
public function index()
{
$records = User::all();
$course = Course::all();
return view('records.index', compact('records', 'course'));
}
查看您的if
查询的类似文件
<table>
<thead>
<tr>
<th>Id</th>
<th>Student Name</th>
<th>Course Major</th>
</tr>
</thead>
<tbody>
@if (count($records)>0)
@foreach ($records as $record)
@foreach ($course as $record)
<tr>
<td>{{$record->id}}</td>
<td>{{$record->name}}</td>
<td>{{$course->course_name}}</td>
</tr>
@endforeach
@endforeach
@else
<tr>
<td colspan="3"> No Record found!!</td>
</tr>
@endif
</tbody>
</table>
身份证件
学名
课程专业
@如果(计数($records)>0)
@foreach($记录为$记录)
@foreach(课程为$record)
{{$record->id}
{{$record->name}
{{$course->course_name}
@endforeach
@endforeach
@否则
没有找到记录!!
@恩迪夫
您应该尝试以下代码:
public function index()
{
$records = User::all();
$course = Course::all();
return view('records.index', compact('records', 'course'));
}
查看您的if
查询的类似文件
<table>
<thead>
<tr>
<th>Id</th>
<th>Student Name</th>
<th>Course Major</th>
</tr>
</thead>
<tbody>
@if (count($records)>0)
@foreach ($records as $record)
@foreach ($course as $record)
<tr>
<td>{{$record->id}}</td>
<td>{{$record->name}}</td>
<td>{{$course->course_name}}</td>
</tr>
@endforeach
@endforeach
@else
<tr>
<td colspan="3"> No Record found!!</td>
</tr>
@endif
</tbody>
</table>
身份证件
学名
课程专业
@如果(计数($records)>0)
@foreach($记录为$记录)
@foreach(课程为$record)
{{$record->id}
{{$record->name}
{{$course->course_name}
@endforeach
@endforeach
@否则
没有找到记录!!
@恩迪夫
这会使我能够从一个控制器访问两个表吗?@ProvidenceMoyo在一个控制器中使用多个模型没有任何限制。因此,我的问题是。如何在一个控制器中使用它们?这是我在srcontroller
中使用的正确方法吗?现在这是我在控制器中的索引代码public function index(){$records\u user=user::all();$records\u course=course::all();return view('records.index')->with('records',$records\u user)->with('records',$records\u course);}
@ProvidenceMoyo检查更新的答案并替换该行。这是否使我能够从一个控制器访问两个表?@ProvidenceMoyo在一个控制器中使用的型号数量没有任何限制。因此,我提出了问题。如何在一个控制器中使用它们?这是我在srcontroller
中使用的正确方法吗?现在这是我在控制器中的索引代码public function index(){$records\u user=user::all();$records\u course=course::all();return view('records.index')->with('records',$records\u user)->with('records',$records\u course);}
@ProvidenceMoyo检查更新的答案并替换该行。您有两个不同的数据库吗?或者一个数据库中有两个不同的表?同一数据库中有两个不同的表您有两个不同的数据库吗?或者在一个数据库中有两个不同的表?在同一个数据库中有两个不同的表