如何使用视图而不使用PHP';s";“紧凑型”;拉维函数
我正在使用laravel从数据库中获取数据,并将该数据或数据数组存储到变量中,比如$tasks存储数据库中tasks表的数据,直到一切正常,但是在处理$task变量的过程中,是否需要使用“compact”函数 有人能解释一下吗如何使用视图而不使用PHP';s";“紧凑型”;拉维函数,php,laravel,function,laravel-5,Php,Laravel,Function,Laravel 5,我正在使用laravel从数据库中获取数据,并将该数据或数据数组存储到变量中,比如$tasks存储数据库中tasks表的数据,直到一切正常,但是在处理$task变量的过程中,是否需要使用“compact”函数 有人能解释一下吗 Route::get('/test', function () { $data = [ 'name' => 'Vrushal', 'last' => 'Raut',
Route::get('/test', function () {
$data = [
'name' => 'Vrushal',
'last' => 'Raut',
'tasks' => [
'Programming',
'UI/UX Developement',
'Cloud Expert'
]
];
//return view('templates/test', compact($data)); //NOT WORKING
//return view('templates/test', $data); // ITS WORKING
return View::make('templates/test',$data); // ITS WORKING
});
Route::get('/tasks', function(){
$tasks = DB::table('tasks')->get();
return view('templates/tasks', compact('tasks')); // ITS WORKING
//return View::make('templates/test',$tasks); // NOT WORKING
});
以及与数据库plz解释这一点
Route::get('/test', function () {
$data = [
'name' => 'Vrushal',
'last' => 'Raut',
'tasks' => [
'Programming',
'UI/UX Developement',
'Cloud Expert'
]
];
//return view('templates/test', compact($data)); //NOT WORKING
//return view('templates/test', $data); // ITS WORKING
return View::make('templates/test',$data); // ITS WORKING
});
Route::get('/tasks', function(){
$tasks = DB::table('tasks')->get();
return view('templates/tasks', compact('tasks')); // ITS WORKING
//return View::make('templates/test',$tasks); // NOT WORKING
});
提前谢谢 compact('data')
与['data'=>$data]
相同,因此要能够访问Vrushal
值,您需要在视图中执行以下操作:
{{ $data['name'] }}
执行此操作时:
View::make('templates/test', $data);
您可以通过以下方式获得Vrushal
值:
{{ $name }}
//返回视图('templates/test',compact($data))//不起作用
它不起作用,因为紧凑型元素不需要美元符号。应该是这样的:
returnview('templates.test',compact('data')然后您可以在视图中通过$data[]变量访问它
其他方式:
返回视图('templates.test')->带有('variable',$data)
并使用$variable[]
compact在视图中访问此文件-创建包含变量及其值的数组
手册
结果
Array
(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)
Array
(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)
Array
(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)
Array
(
)
结果
Array
(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)
Array
(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)
Array
(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)
Array
(
)
结果
Array
(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)
Array
(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)
Array
(
[event] => SIGGRAPH
[city] => San Francisco
[state] => CA
)
Array
(
)
注意,compact
忽略未设置的变量。实际上,“compact”将变量数量及其值作为一个数组。各位,我需要数据库代码的解决方案,即Route::get('/tasks',function(){$tasks=DB::table('tasks')->get();返回视图('templates/tasks',compact('tasks');//其工作//返回视图::make('templates/test',$tasks);//不起作用});
如果您花一点时间阅读compact
的手册,并且实际花时间查看该查询返回的内容,您就会明白为什么会这样。@lagbox非常感谢,我想我已经解决了问题,如果有任何问题,请告诉您。