Laravel 在雄辩模型中使用值而不是模型ID

Laravel 在雄辩模型中使用值而不是模型ID,laravel,eloquent,Laravel,Eloquent,我可能只是做错了,但我正试图找出最好的处理方法 我有一个约会模型,在该模型中,我有一些关系,因为它与其他表有关: public function services() { return $this->hasMany('App\Models\AppointmentService'); } public function notes() { return $this->hasMany('App\Models\AppointmentNote'); } public

我可能只是做错了,但我正试图找出最好的处理方法

我有一个约会模型,在该模型中,我有一些关系,因为它与其他表有关:

public function services() 
{
    return $this->hasMany('App\Models\AppointmentService');
}
public function notes() 
{
    return $this->hasMany('App\Models\AppointmentNote');
}   
public function statues() 
{
    return $this->hasOne('App\Models\AppointmentStatus');
}        
public function blocks() 
{
    return $this->hasOne('App\Models\Block', 'id');
}   
services()、notes()、status()
都可以正常工作,因为它们包含
appointment\u id
但是,
blocks
只是显示block文本的一种方式,不包含约会信息

约会表包含一个
block
列,该列使用
blocks
表ID

id,块'1','8-10''2','9-12''3','12-3''4','3-5'


因此,当我执行类似于
$appointment->block->block
的操作时,我希望显示
appointment
表中的值字符串,而不是将
appointment\u id

传递给它,您可以为关系指定如下键

return $this->hasOne('App\Models\Block', 'id', 'block');

此外,Eloquent假设外键应该具有 值,该值与 父母亲换句话说,雄辩者将寻找用户的价值 电话记录的用户id列中的id列。如果你愿意 如果要使用id以外的值,可以传递第三个值 指定自定义密钥的hasOne方法的参数: