Join 拉雷维尔与关系

Join 拉雷维尔与关系,join,laravel-5,Join,Laravel 5,我有三张桌子叫: 使用者 里滕尼 卡拉克特里特 一个用户有一个或多个Rittenregistratie,一个Rittenregistratie有 一克拉的 这是我的模型: 用户模型: public function Rittenregistratie() { return $this->hasMany('App\Rittenregistratie'); } Rittenie模型: public function User() {

我有三张桌子叫:

使用者 里滕尼 卡拉克特里特

一个用户有一个或多个Rittenregistratie,一个Rittenregistratie有 一克拉的

这是我的模型:

用户模型:

  public function Rittenregistratie()
    {
        return $this->hasMany('App\Rittenregistratie');
    }
Rittenie模型:

 public function User()
    {
        return $this->belongsTo('App\User');
    }

    public function karakterrit()
    {
        return $this->hasOne('App\karakterrit');
    }
Karakterrit模型:

public function rittenregistratie()
    {
        return $this->belongsTo('App\rittenregistratie');
    }
当我在控制器中为RittenRegistration搜索特定id时,我是这样做的:

$rittenregistratie = Rittenregistratie::whereId($id)->firstorFail();
$rittenregistratie->karakterrit_id
当我想在我看来展示rittenregistratie的karakterrit时,我是这样做的:

$rittenregistratie = Rittenregistratie::whereId($id)->firstorFail();
$rittenregistratie->karakterrit_id
但是如何确保我看到的不是数字而是该行的值

编辑

也许我已经解释得有点复杂了

通常我会使用连接来实现这一点。 我有三张桌子用户,Rittenregistratie,Karakterrit

Rittennie看起来像这样

Id (primary key)
kmstand (int)
van (text)
naar(text)
karakterrit_id (foreign key)
Id (primary key) 
rit (text)
卡拉克泰尔看起来像这样

Id (primary key)
kmstand (int)
van (text)
naar(text)
karakterrit_id (foreign key)
Id (primary key) 
rit (text)

Rittenregistratie.karakterrit_id是karakterrit_id的外键。现在我的问题是如何显示karakterrit.rit?

要获取模型而不是值,请这样调用它。雄辩者将通过一种神奇的方法为你找到关系

$rittenregistratie->karakterrit
//or
$rittenregistratie->karakterrit()->first();
编辑:
由于它返回模型,要获取其值,您只需作为一名英语单语使用者执行$rittenregistratie->karakterrit->rit

,什么是“rittenregistratie”和“karakterrit”?是的,很抱歉,这是荷兰语。Rittenie是你开车的地方,所以日期,从,到。举个例子,如果你开车是为了私事或是为了商业目的。请注意:你应该使用StudlyCase作为类名,而camelCase作为方法名,即用户方法应该是小写的。“但是我如何确保我看到的不是数字,而是那一行的值?”你想要什么值?因为我们看不到您的架构,所以不知道哪些列可用。@MartinBean请查看我的编辑,希望现在更清晰。谢谢您的回复。但是我想我已经解释得有点复杂了,请看我的编辑。@jamie添加了一个例子。谢谢,但是我收到了错误:SQLSTATE[42S22]:未找到列:1054“where子句”中的未知列“karakterrit.rittenregistratie_id”SQL:从karakterrit中选择*,其中karakterrit.rittenregistratie_id=3,karakterrit.rittenregistratie_id不为null限制1视图:D:\wamp\www\resources\views\rited\rit.blade。php@jamie如果您不遵循命名外键的常规方法然后你必须在关系中提到外键和本地键。例如:return$this->hasmall'App\Model'、'foreign_key'、'local_key';