How to alias in Laravel Eager Loading

前端 未结 2 626
不思量自难忘°
不思量自难忘° 2021-01-18 09:56

I need to alias when I do a Laravel eager loading:

$posts = Post::with(array(\'images as main_image\' => function($query) // do not run
            {
             


        
2条回答
  •  忘掉有多难
    2021-01-18 10:15

    Perfect! you give me the idea. Finally I've done this:

    Post.php

    public function main_image()
    {
        return $this->hasMany('FoodImage')->where('number','=','0');
    }
    
    public function gallery_images()
    {
        // for code reuse
        return $this->main_image();
    }
    

    PostController.php

    $posts = Post::with:with('main_image')->with('gallery_images')                    
                ->where('id', '=', $id)                    
                ->get();
    

提交回复
热议问题