不显示外键值的laravel关系

不显示外键值的laravel关系,laravel,eloquent,Laravel,Eloquent,我已经在两个表之间创建了一个关系,但是当我调用它时,它会显示id,而不是外键 我的单元模型: class Unit extends Model { protected $table='units'; public function unit_id() { return $this->hasMany(Procurment_request::class,'unit_id','id'); } } 我的代理模式: class Procurment_reque

我已经在两个表之间创建了一个关系,但是当我调用它时,它会显示id,而不是外键

我的单元模型:

class Unit extends Model
{
   protected $table='units';
   public function unit_id()
   {
       return $this->hasMany(Procurment_request::class,'unit_id','id');
   }
}
我的代理模式:

class Procurment_request extends Model
{
    protected $table ='procurment_requests';
    public function unit_id(){
        return $this->belongsTo(App\Unit::class);
    }
}
我的路线:

Route::get('show',function (){
    $result=Procurment_request::all();
    return $result;
});
结果是:

[  
   {  
      "id":1,
      "quantity":1,
      ***"units_id":1***,
      "description":"adf",
      "requster":0,
      "checker":0,
      "approver":0,
      "created_at":null,
      "updated_at":null
   }
]

我想显示单元名称而不是主键

将关系名称更改为

class Procurment_request extends Model
{
    protected $table ='procurment_requests';

    public function unit(){
        return $this->belongsTo(App\Unit::class, 'units_id');
    }

}
和使用

Route::get('show',function (){
    $result=Procurment_request::with('unit')->get();
    $result->map(function ($item) {
        $item->unit_name = $item->unit->unit_name;
        unset($item['unit']);
    });
    return $result;
});

我现在确实说了“调用undefined method Illumb\Database\Eloquent\Builder::all()”仍然得到id号而不是名称您必须是get number,还有
unit
,这里是unit:namesorry我的错我得到了unit:name但它显示为null[{“id”:1,“quantity”:1,“units\u id”:1,“description:“adf”,“Requister”:0,“checker”:0,“批准者”:0,“创建时间”:null,“更新时间”:null,“单位”:null}]仍然是相同的结果[{“id”:1,“数量”:1,“单位id”:1,“说明”:“adf”,“要求者”:0,“检查者”:0,“批准者”:0,“创建时间”:null,“更新时间”:null,“账户名称”:null}]