laravel中紧凑型的视觉传达差异

时间:2018-11-02 02:31:55

标签: laravel

向我获得相同结果的两种方式向视图发送数据时有什么区别

return view ('admin.about.index', compact ('about'));

return view ('admin.about.index') -> with (compact ('aboutsImage'));

2 个答案:

答案 0 :(得分:0)

compact方法支持传递多个变量, with方法仅支持传递一个变量,您也可以在方法中声明它并仍然使用它多次>

...->with('about','aboutImage')->with('text','aboutText')...

如果您已经填充了变量并且需要传递两个以上的变量,则紧凑模式将更容易。

答案 1 :(得分:0)

对于pass data to a view,您可以同时进行以下操作:

return view('greetings', ['admin' => $user, 'store' => $store]);

return view('greetings')->with('admin', $user)->with('store', $store);
// sugared
return view('greetings')->withAdmin($user)->withStore($store);

使用这两种方法,您仍然可以在视图中以定义的变量名接收对象。

另一方面,当您执行compact()时,它将创建一个对象/集合的关联数组,并将其传递给它。我们还可以在其中添加多个变量。