我正在尝试从Laravel中的数据库获取用户列表,但查看 无法识别来自控制器的变量。表中的名称 DB是korisnik。
Model.php
<?php
namespace App\Models;
use Illuminate\Support\Facades\DB;
class model {
public function dohvatiKorisnike() {
return DB::table('korisnik')->get();
}
}
KontrolerProba.php
<?php
namespace App\Http\Controllers;
use App\Models\model;
class KontrolerProba {
public function index(){
$korisnik = new model();
$korisniciUpit = $korisnik->dohvatiKorisnike();
$podaci = array();
$podaci['korisnik'] = $korisniciUpit;
return view('welcome', $podaci);
}
}
welcome.blade.php
@foreach($korisnici as $korisnik)
<p{{ $korisnik->korisnicko_ime }} </p>
@endforeach
未定义变量:korisnici(查看: C:\ wamp64 \ www \ test \ resources \ views \ welcome.blade.php)
答案 0 :(得分:1)
通过两种方法在视图中传递控制器数据:
compact
with()
方法 $data['korisnik'] = $korisniciUpit;
return view('welcome')->with($data);
然后在视图中访问$korisnik->column_name
希望它会起作用。
答案 1 :(得分:0)
我认为您使用了错误的变量。
尝试:
@foreach($korisnik as $value)
<p> {{ $value->korisnicko_ime }} </p>
@endforeach
答案 2 :(得分:0)
问题是。您正在传递korisnik
,并尝试使用korisnici
尝试
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class KontrolerProba {
public function index(){
$korisniciUpit = DB::table('korisnik')->get();
$data['korisnik'] = $korisniciUpit;
return view('welcome', $data);
}
}
在您的Welcome.blade.php
@foreach($korisnik as $value)
<p{{ $value->korisnicko_ime }} </p>
@endforeach
答案 3 :(得分:0)
让我们遵循控制步骤;
1-)您确定查询返回的数据不为null吗?
2-)laravel以对象形式返回查询,以免引起混淆,我建议您在填充之前创建一个空对象。因此,让我们稍微更改一下代码。
$podaci = (object)null;
$podaci->korisnik = $korisniciUpit;
Laravel还提供了在视图中更改变量名称的方法。一段时间后,您将无法更改所有变量和混乱情况。
return view('welcome')->with(['data' => $podaci]);
要测试传递的变量,请查看您的视图;
var_dump($data);
我希望这会有所帮助:)