laravel,显示来自另一个表的数据
我试图解决以下问题: 我有三个表:passport、Status和passport\u Status(passport\u Status表是由于passport和Status之间的多对多关系而形成的透视表,模型如下: 护照型号laravel,显示来自另一个表的数据,laravel,many-to-many,Laravel,Many To Many,我试图解决以下问题: 我有三个表:passport、Status和passport\u Status(passport\u Status表是由于passport和Status之间的多对多关系而形成的透视表,模型如下: 护照型号 <?php namespace App; use Illuminate\Database\Eloquent\Model; class Passport extends Model { protected $fillable=[ 'Full_Name',
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Passport extends Model
{
protected $fillable=[
'Full_Name',
'Date_of_Birth',
'Passport_Number',
'comments',
'Delivered_to_owner'
];
public function status()
{
return $this->belongsToMany('App\Statuses',"passport_statuses","passport_id","statuses_id")->withTimestamps();
}
public function LatestStatus($query)
{
//dd($this->status[0]);
$allStatus=$this->status()->orderBy('updated_at')->first();
dd($allStatus);
//return $allStatus[0]->Status_Name;
//dd($allStatus[0]->attributes["Status_Name"]);
//dd($this->status()->get());
//return $allStatus[0]->attributes["Status_Name"];
//dd($allStatus);
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Statuses extends Model
{
protected $fillable=[
'Status_Name'
];
public function passport()
{
return $this->belongsToMany('App\Passport')->withTimestamps();
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class PassportStatus extends Model
{
protected $fillable=[
'passport_id',
'statuses_id'
];
}
您可以向模型中添加一个获取最新状态的函数,然后在视图中使用该函数。此新函数不是新关系,它只是一个标准函数
class Passport extends Model
{
public function status() {
return $this->belongsToMany('App\Statuses',"passport_statuses","passport_id","statuses_id")->withTimestamps();
}
// this is not a relationship. just a standard method on the model.
public function latestStatus() {
return $this->status()->latest()->first();
}
}
在你看来:
<td>{{ $passport->latestStatus()->Status_Name }}</td>
{{$passport->latestStatus()->Status\u Name}
您好,我可以在索引页中获取姓名和护照号码,但无法获取状态。护照可以同时具有许多不同的状态吗?护照可以具有任何不同的状态,但不能同时具有。我想在索引页中显示最新状态。
class Passport extends Model
{
public function status() {
return $this->belongsToMany('App\Statuses',"passport_statuses","passport_id","statuses_id")->withTimestamps();
}
// this is not a relationship. just a standard method on the model.
public function latestStatus() {
return $this->status()->latest()->first();
}
}
<td>{{ $passport->latestStatus()->Status_Name }}</td>