Laravel 5.2按用户过滤列表,或以雄辩的方式显示用户的所有列表

Laravel 5.2按用户过滤列表,或以雄辩的方式显示用户的所有列表,laravel,join,filter,eloquent,foreign-key-relationship,Laravel,Join,Filter,Eloquent,Foreign Key Relationship,好的,我是Laravel的新手,我想在我的控制器中做一个函数,返回一个JSON和一个用户的所有列表,我想通过电子邮件过滤用户,这不是主键,但我在这里遇到了很多问题,Laravel的文档对此没有解释 好的,我有一个类用户,具有以下属性和关系: User.php protected $fillable = [ 'nom', 'email', 'password', 'data_de_naixament', 'sexe', 'type', 'imatge_usr', 'codi_postal'

好的,我是Laravel的新手,我想在我的控制器中做一个函数,返回一个JSON和一个用户的所有列表,我想通过电子邮件过滤用户,这不是主键,但我在这里遇到了很多问题,Laravel的文档对此没有解释

好的,我有一个类用户,具有以下属性和关系:

User.php

protected $fillable = [
    'nom', 'email', 'password', 'data_de_naixament', 'sexe', 'type', 'imatge_usr', 'codi_postal'
];

public function lists()
{
    return $this->hasMany('App\List');
}
protected  $fillable = ['nom_llista', 'id_user'];

public function user()
{
    return $this->belongsTo('App\User', 'id_user');
}
和另一个班级名单:

List.php

protected $fillable = [
    'nom', 'email', 'password', 'data_de_naixament', 'sexe', 'type', 'imatge_usr', 'codi_postal'
];

public function lists()
{
    return $this->hasMany('App\List');
}
protected  $fillable = ['nom_llista', 'id_user'];

public function user()
{
    return $this->belongsTo('App\User', 'id_user');
}
所以我知道我必须做一个连接,并将输入参数与用户表的email列进行比较,但我无法得到它,因为他们根本不理解有说服力的语法

我可以做一个功能,存储所有列表,然后通过电子邮件过滤,但如果我有2000个列表,这是没有效率的


希望你能帮助我,为我糟糕的英语感到抱歉

您应该阅读文档

要检索信息,请执行以下操作:

要将集合转换为json,请执行以下操作:

加入模型:

换句话说,您的代码可能是

$users = User::where('email', $emailYouAreLookingFor)->with('lists')->get()->toJson();

您应该阅读文档

要检索信息,请执行以下操作:

要将集合转换为json,请执行以下操作:

加入模型:

换句话说,您的代码可能是

$users = User::where('email', $emailYouAreLookingFor)->with('lists')->get()->toJson();

如果您使用
$user->whereEmail('email@example.com')->first()->lists()
您将获得此用户的所有列表。这就是你想要做的吗?它根本不起作用,“data”返回null,但是下面的答案起作用了,谢谢!!如果您使用
$user->whereEmail('email@example.com')->first()->lists()
您将获得此用户的所有列表。这就是你想要做的吗?它根本不起作用,“data”返回null,但是下面的答案起作用了,谢谢!!它可以工作,但我的名字id_user有问题,我把名字改为user_id,现在可以工作了,谢谢!!很好,但这不是必需的,您可以指定外键和本地键的名称[return$this->hasMany('App\Comment','foreign\u key','local\u key');]它可以工作,但我对用户名id\u user有问题,我将名称改为user\u id,现在可以工作了,谢谢!!很好,但这不是必需的,您可以指定外键和本地键的名称[return$this->hasMany('App\Comment','foreign_key','local_key');]