2016-12-13 117 views
1
namespace App\Http\Controllers; 

    use App\Image; 
    use Illuminate\Http\Request; 


    /** 
    * @property \Illuminate\Database\Eloquent\Model|null|static about 
    * @property \Illuminate\Database\Eloquent\Collection|static[] images 
    */ 
    class MediaController extends Controller 
    { 


     /** 
     * MediaController constructor. 
     */ 
     public function __construct() 
     { 
      $this->images = Image::all(); 
     } 

     /** 
     * Generate the Media page. 
     * 
     * @return \Illuminate\Http\Response 
     */ 
     public function index() 
     { 

      $images = $this->images; //Is there a way to bypass this 
      return view('media', compact('images')); 
     } 

    } 

相当简单的一种可能,有没有一种方法可以从compact方法中直接引用$this->images?我想直接访问这个上下文而不必不必要地分配一个变量。Laravel,如何直接访问属性

回答

3

而不是使用compact()的,您可以手动创建数组:

public function index() 
{ 
    return view('media', [ 
     'images' => $this->images, 
    ]); 
}