我有users,images和image_user表。我正试图加载和使所有用户的图像,但limit图像只有4。
把它想象成一个画廊。用户可以有一个或多个图像
用户模型
public function images()
{
return $this->belongsToMany(Images::class);
}到目前为止,这是我的疑问。
User::with(['images' => function ($query) {
$query->limit(4);
}
])->get();此查询返回用户但带有空关系(图像)
任何帮助都将不胜感激。
干杯
发布于 2016-11-22 03:58:00
发布于 2016-11-22 17:10:34
$user = User::with('images')->limit(5)->get();您知道php手工修补程序吗?您可以通过命令行输出数据。
试着用..。
App\User::with('images')->limit(5)->get();..and您将看到5个用户的图像,提供您的关系是正确的。
编辑的
对不起,我看错你的问题了。
为了限制每个用户返回的图像,您可以在用户模型上创建一个新方法,如下所示。
public function imageslimit(){
return $this->belongsToMany(Images::class)->limit(5);
}将所有用户从控制器传递到您的视图。
$users = User::all();然后在浏览视图中的所有用户时调用,只需这样做。
@foreach($user->imageslimit as $image)
$image->name;
@endforeach我测试了这个,这对我来说很好。
发布于 2016-11-22 04:12:17
使用take()只拍摄5幅图像。
$users=User::with('images')->get();
foreach($users as $user)
{
echo $user->name;
foreach($user->images->take(5) as $image)
{
echo $image;
}
}https://stackoverflow.com/questions/40733496
复制相似问题