douye6812 2016-12-13 19:41
浏览 82
已采纳

Laravel,如何直接访问属性

    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'));
        }

    }

Quite a simple one probably, is there a way to directly reference $this->images from within the compact method here? I'd like to access the this context directly without needlessly assigning a variable.

  • 写回答

1条回答 默认 最新

  • donglang9880 2016-12-13 19:48
    关注

    Instead of using compact(), you can manually create the array:

    public function index()
    {
        return view('media', [
            'images' => $this->images,
        ]);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码