如何将两个变量传递给视图?

时间:2019-07-09 10:41:53

标签: php laravel

我想将两个变量传递给视图,以便可以从数据库中获取数据。

我试图将两者放在同一行,但是没有用。而且我遇到了这个错误:

  

未定义变量:utilizadores(查看:   C:\ Users \ ACC \ Desktop \ projeto \ acc \ resources \ views \ gestaoutilizadores.blade.php)

因为它仅发送变量$users,然后返回视图。

这是我的代码:

public function gestaoutilizadores(){
    $users = DB::select('select * FROM `users` WHERE 1');
    return view('gestaoutilizadores',['users'=>$users]);
    $utilizadores = DB::select('select * FROM `utilizadores` WHERE 1');
    return view('gestaoutilizadores',['utilizadores'=>$utilizadores]);
}

如何将变量$users$utilizadores传递给视图?

5 个答案:

答案 0 :(得分:3)

返回包含两个值的数组:

return view('gestaoutilizadores', ['utilizadores'=>$utilizadores, 'users'=>$users]);

答案 1 :(得分:1)

每当您return进行某些操作时,函数调用都会在此停止并返回您告诉的内容。

您需要将数据返回到单个数组中,该数组可以设置为保存数据的变量(如果您有很多需要返回到视图的变量,则读取起来会更干净一些)。然后使用$data变量作为view()的第二个参数返回视图。

public function gestaoutilizadores() {
    $data = [];
    $users = DB::select('select * FROM `users` WHERE 1');
    $utilizadores = DB::select('select * FROM `utilizadores` WHERE 1');

    $data['users'] = $users;
    $data['utilizadores'] = $utilizadores;
    return view('gestaoutilizadores', $data);
}

尽管您也可以通过

进行内联
public function gestaoutilizadores() {
    $users = DB::select('select * FROM `users` WHERE 1');
    $utilizadores = DB::select('select * FROM `utilizadores` WHERE 1');

    return view('gestaoutilizadores', ['users' => $users, 'utilizadores' => $utilizadores]);
}

答案 2 :(得分:0)

public function gestaoutilizadores(){
    $users = DB::select('select * FROM `users` WHERE 1');

    $utilizadores = DB::select('select * FROM `utilizadores` WHERE 1');
    return view('gestaoutilizadores',['utilizadores'=>$utilizadores, 'users'=>$users]);
}

答案 3 :(得分:0)

https://laravel.com/docs/4.2/responses#views

您可以尝试

 gestaoutilizadores(){ 
    $users = DB::select('select * FROM users WHERE 1'); 
    $utilizadores = DB::select('select * FROM utilizadores WHERE 1'); 
    return view('gestaoutilizadores', ['utilizadores'=>$utilizadores, 'users'=>$users]); 
 }



 gestaoutilizadores(){ 
    $users = DB::select('select * FROM users WHERE 1'); 
    $utilizadores = DB::select('select * FROM utilizadores WHERE 1'); 
    return view('gestaoutilizadores', compact ('utilizadores', 'users'); 
 }

答案 4 :(得分:0)

尝试一下 您可以使用紧凑型

public function gestaoutilizadores(){
    $users = DB::select('select * FROM `users` WHERE 1');
    $utilizadores = DB::select('select * FROM `utilizadores` WHERE 1');
    return view('gestaoutilizadores',compact('users', 'utilizadores'));
}