[英]Data fetching in a one to many relationship in laravel
我想从数据库中获取数据,但是当我尝试从另一个表中获取数据时却卡住了。
这是我要执行的操作,当用户登录到网页时,他将能够看到人员姓名列表。 通过单击他们的姓名,用户将被重定向到另一个页面,该页面将显示该人的详细信息,例如姓名,地址和电子邮件。 但是因为他们太多(假设有200个人)
问题:
Q1。 我如何将用户重定向到名称的另一个页面(例如:jack,用户单击jack name,jack id = 1,如何将其重新关联到外键user_id = 1)
Q2。 我如何做一个循环来获取他们的信息,而不是一一指定(例如:我不想一直说id = 1,是否有像id ++这样的东西可以帮助自动添加)
home.blade.php
<table class="table table-bordered">
<tr>
<th><strong><big>Name AS PER NRIC/PASSPORT: </big></strong></th>
</tr>
<td>
<tr>
@foreach($data as $value)
<tr>
<th><a href="www.google.com"> {{$value->Name}}</a></th> --> I don't know how to redirect it to show user details
</tr>
@endforeach
</tr>
</tr>
</table>
控制者
public function index()
{
return view('home');
}
public function getData(){
$data['data'] = DB::table('personal_infos')->get()->sortByDesc('upload_time');
if(count($data)>0){
return view('home',$data);
}else{
return view('home');
}
}
}
路线
Route::get('/test','testController@getData');
personal_info模型
class personal_info extends Eloquent
{
protected $fillable = array('Email', 'Name', 'address');
protected $table = 'personal_infos';
protected $primaryKey = 'id';
public function user_infos() {
return $this->hasMany('App\user_info,'user_id');
}
public function user_info1s() {
return $this->hasMany('App\user_info1','user_id');
}
}
user_info和user_info1模型
class user_info1 extends Eloquent
{
protected $fillable = array('hobby','sport','user_id');
public function personal_infos() {
return $this->belongsTo('App\personal_info', 'user_id', 'id');
}
首先添加一条路线
Route::get('/test/{id}','testController@getPerson')->name("showPerson");
然后设置重定向
<a href="{{route('showPerson', $value)}}">
使用此行代替您的href =“ www.google.com”
使testController的getPerson()返回一个新页面,在该页面上,打印出一个人的所有信息。
我也建议您使用Google Laracast并观看所有免费视频。 它们大约有30个,它们使您对laravel框架有了很好的了解
更改页面的链接以将您重定向到详细信息页面:
<th><a href="{{route('user.show',['id'=>$value->id])}}"> {{$value->Name}}</a></th>
路线应为:
Route::get('user/show/{id}','testController@getInfo')->name("user.show");
控制器应为:
public function getInfo($id) {
$user_info1 = user_info1::where('user_id',$id)->get();
return $user_info1;//change this with your view
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.