不显示外键值的laravel关系
我已经在两个表之间创建了一个关系,但是当我调用它时,它会显示id,而不是外键 我的单元模型:不显示外键值的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
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}]