gpt4 book ai didi

Laravel 条件关系 : return first()

转载 作者:行者123 更新时间:2023-12-05 05:22:26 27 4
gpt4 key购买 nike

我有一个 Laravel 5.2 一对多关系,我想返回模型并为关系设置条件。我试过这个:

$categories = Category::with(['descriptions' => function($d) use ($default_language) {
$d->where('language_id', $default_language->id);
}])->get();

它工作正常,我只是想要别的东西:关系不应该是一个集合或数组,只是一个简单的对象。我想做类似的事情

$d->where('language_id', $default_language->id)->first();

,只是在这种情况下 first() 不起作用。有什么想法吗?

编辑实际上 first() 没有正常工作,它只为返回的第一个对象返回第一个描述,对于其他对象则什么都不返回。

最佳答案

试试这个:

$categories = \Jobinja\CMS\Blog\Models\Category::with([
'descriptions' => function ($q) use ($defaultLanguage) {
return $q->where('language_id', $defaultLanguage->id)->take(1);
}
])
->get()
->map(function ($item) {
if ($item->descriptions->isEmpty() === false) {
$item->description = $item->descriptions->first();
}

return $item;
});

然后进入描述:

foreach ($categories as $category) {
$description = $category->description;
}

关于Laravel 条件关系 : return first(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40586762/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com