我如何通过Laravel中雄辩的模型从数据库返回所需的列

时间:2019-01-08 17:33:12

标签: laravel eloquent

我想通过具有关联性的雄辩模型从数据库中返回所需的列。

public function Page()
{
    return $this->hasMany('App\Page', 'subcategory_id');     
}

这就是我在控制器中返回数据的方式

$subcategoryContent = SubCategory::where('slug',$subcategory)->with('Page')->get();

我要返回的是页面名称和根据关系的子类别ID的子代码。 关系工作正常,但我需要子类别详细信息和属于该子类别的页面的名称。 谢谢!!!

3 个答案:

答案 0 :(得分:0)

根据您的评论,您需要添加一条选择语句:

在您的->with()查询构建器中,您需要将select语句与:一起使用:

$subcategoryContent = SubCategory::where('slug',$subcategory)->with('Page:id,title')->get();

答案 1 :(得分:0)

尝试一下:

$subcategoryContent = SubCategory::where('slug',$subcategory)->first()->Page()->pluck('title','id);

答案 2 :(得分:-1)

您从中得到什么结果?你想从中得到什么结果?

通常我只是在控制器中获得subCategory。

$subCategorys = SubCategory::where('slug',$subcategory)->get();

然后我在视图中写这个

根据您的答案编辑视图。

@foreach($subCategorys as $sub)
{{ $sub->name}}

     @foreach($sub->Page as $page)
        {{$page->title}}
        {{$page->id}}
     @endforeach
@endforeach