2016-12-13 112 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, 
    ]); 
}