Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
laravel,显示来自另一个表的数据_Laravel_Many To Many - Fatal编程技术网

laravel,显示来自另一个表的数据

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',

我试图解决以下问题: 我有三个表: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',
'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>