Laravel-类似函数在某些情况下不起作用

问题描述 投票:0回答:1

我是Laravel 6的新手,我对where()函数有疑问。

我有一个用户模型和一个文章模型,在我的用户模型中,我将关系设置为hasMany(App \ Article :: class),这意味着一个用户可以有很多文章。假设用户1有几篇标题为“如何做”教程的文章。

在修补匠中,如果我这样做:

$user->articles()->where('title', 'like', '%how to%')->get();

它显示所有带有“如何”字样的标题,但是如果我这样做:

$user->articles->where('title', 'like', '%how to%'); //but $user->articles->where('id', 2); works perfectly

它返回空白结果。为什么?

php laravel artisan
1个回答
0
投票

因为未指定->get()方法

为了检索数据,您应该给这些方法之一->first()->last()->find()

当您不想将任何条件限制在模型上时,使用->all()方法。

如果不起作用,请参见链接Laravel-5 'LIKE' equivalent (Eloquent)

© www.soinside.com 2019 - 2024. All rights reserved.