Php Laravel ORM关系仅在id上返回null>;1.

Php Laravel ORM关系仅在id上返回null>;1.,php,laravel,eloquent,orm,Php,Laravel,Eloquent,Orm,我最近发现了一个问题。 我有2个模型、文章和用户。我已经定义了这样的模型关系 User.php public function articles() { return $this->hasMany(Articles::class,'written_by'); } Article.php public function writer() { return $this->hasOne(User::class, 'id'); } 问题是,只有在阅

我最近发现了一个问题。 我有2个模型、文章和用户。我已经定义了这样的模型关系

User.php

     public function articles()
 {
     return $this->hasMany(Articles::class,'written_by');
 }
Article.php

    public function writer()
{
    return $this->hasOne(User::class, 'id');
}
问题是,只有在阅读id为1的文章时,才能访问该关系

url.com/clanek/1

但是当url是url.com/clanek/2
仅给出“null”。

按以下方式更改关系

User.php

public function articles()
{
   return $this->hasMany(Articles::class,'written_by','id');
}
public function articles(){
    return $this->hasMany(Article::class,'written_by','id');
}
public function writer(){
    return $this-> belongsTo(User::class);
}
而在Article.php中它将属于to

public function writer()
{
   return $this->belongsTo(User::class,'written_by','id');
}

更改关系如下

User.php

public function articles()
{
   return $this->hasMany(Articles::class,'written_by','id');
}
public function articles(){
    return $this->hasMany(Article::class,'written_by','id');
}
public function writer(){
    return $this-> belongsTo(User::class);
}
而在Article.php中它将属于to

public function writer()
{
   return $this->belongsTo(User::class,'written_by','id');
}

你必须这样改变

User.php

public function articles()
{
   return $this->hasMany(Articles::class,'written_by','id');
}
public function articles(){
    return $this->hasMany(Article::class,'written_by','id');
}
public function writer(){
    return $this-> belongsTo(User::class);
}
Article.php

public function articles()
{
   return $this->hasMany(Articles::class,'written_by','id');
}
public function articles(){
    return $this->hasMany(Article::class,'written_by','id');
}
public function writer(){
    return $this-> belongsTo(User::class);
}

你必须这样改变

User.php

public function articles()
{
   return $this->hasMany(Articles::class,'written_by','id');
}
public function articles(){
    return $this->hasMany(Article::class,'written_by','id');
}
public function writer(){
    return $this-> belongsTo(User::class);
}
Article.php

public function articles()
{
   return $this->hasMany(Articles::class,'written_by','id');
}
public function articles(){
    return $this->hasMany(Article::class,'written_by','id');
}
public function writer(){
    return $this-> belongsTo(User::class);
}

工作,谢谢,我想知道为什么我没有尝试。我会马上接受的,谢谢,我想知道为什么我没有试过。您能分享您的路线
clanek/{id}
和管制员吗?您能分享您的路线
clanek/{id}
和管制员吗?