向我获得相同结果的两种方式向视图发送数据时有什么区别
return view ('admin.about.index', compact ('about'));
return view ('admin.about.index') -> with (compact ('aboutsImage'));
答案 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()
时,它将创建一个对象/集合的关联数组,并将其传递给它。我们还可以在其中添加多个变量。