laravel 5.2 视图中的“未定义变量:一个”
“Undefined variable: a ” in laravel 5.2 view
请帮助我,我是使用 laravel 的新手,当我使用 Relations 时,出现如下错误。
ErrorException in 5ef4934eeff3d728094534ae49b02bc13ec04ae1.php line 122:
Undefined variable: a (View: E:\xampp\htdocs\beasiswa\resources\views\beasiswa\daftar_beasiswa.blade.php)
控制器在BeasiswaController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Beasiswa;
use App\Databeasiswa;
use Illuminate\Support\Facades\Input;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Http\Controllers\BeasiswaController;
class BeasiswaController extends Controller
{
public function index(){
$data = Beasiswa::all();
return view('beasiswa.daftar_beasiswa')->with('data', $data);
}
路由是这样定义的
Route::resource('/beasiswa', 'BeasiswaController');
Route::get('beasiswa', 'BeasiswaController@index');
这是我的 模型 Beasiswa.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Beasiswa extends Model
{
protected $fillable = [
'nama_bea',
'syarat',
'waktu_pendaftaran',
'status'
];
public function callDatabeasiswa(){
return $this->hasMany('App\Databeasiswa');
}
}
这是我在 daftar_beasiswa.blade.php
上的 View
<table class="table table-striped">
<thead>
<tr>
<th style="width: 20px">No</th>
<th>Nama Beasiswa</th>
<th>Periode Pendaftaran</th>
<th style="width: 45px">Edit</th>
<th style="width: 45px">Detail</th>
<th style="width: 45px">Hapus</th>
<th style="width: 45px">Broadcast</th>
</tr>
</thead>
<tbody>
@foreach($data as $a)
<tr>
<td>{{ $a->id }}</td>
<td>{{ $a->nama_bea }}</td>
<td>{{ $a->waktu_pendaftaran }}</td>
<td>
<a href="{{ url('beasiswa/'.$a->id.'/edit') }}" class="btn btn-info btn-sm"><i class="glyphicon glyphicon-pencil"></i></a>
</td>
<td>
<a href="{{ url('beasiswa/'.$a->id) }}" class="btn btn-warning btn-sm"><i class="glyphicon glyphicon-eye-open"></i></a>
</td>
<td>
<form action="{{ url('beasiswa/'.$a->id) }}" method="post">
{{ csrf_field() }}
<input type="hidden" name="_method" value="DELETE"><button type="submit" class="btn btn-danger btn-sm"><i class="glyphicon glyphicon-trash"></i></button>
</form>
</td>
<!-- POST -->
<td>
<!-- BUTTON SEND VIA TELEGRAM -->
{{ csrf_field() }}
<button data-toggle="modal" data-target="#modal-sendtelegram" type="button" class="btn btn-primary btn-sm"><i class="glyphicon glyphicon-send"></i></button>
</td>
</tr>
@endforeach
</tbody>
</table>
首先,您使用 ->with() 函数将数据作为会话数据发送。最好只将它提供给您查看。其次,您基本上是在发送带有任意标识符的数据。
$data 应该是一个数组 - 其中的键将变成您可以在视图中访问的变量。真聪明
因此,如果您在控制器中执行此操作:
$data = ['name' => 'Mr. Smith', 'models' => MyModel::all()];
return view('myview', $data);
您可以在您的视图中像这样访问数据:
<p>{{ $name }}</p>
@foreach($models as $model)
<p>{{ $model->myAttribute }}</p>
@endforeach
所以在你的情况下,尝试做这样的事情:
// In your controller
public function index() {
$data = ['beasiswa' => Beasiswa::all()];
return view('beasiswa.daftar_beasiswa', $data);
}
然后
// in your view
@foreach($beasiswa as $a)
....
请帮助我,我是使用 laravel 的新手,当我使用 Relations 时,出现如下错误。
ErrorException in 5ef4934eeff3d728094534ae49b02bc13ec04ae1.php line 122: Undefined variable: a (View: E:\xampp\htdocs\beasiswa\resources\views\beasiswa\daftar_beasiswa.blade.php)
控制器在BeasiswaController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Beasiswa;
use App\Databeasiswa;
use Illuminate\Support\Facades\Input;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Http\Controllers\BeasiswaController;
class BeasiswaController extends Controller
{
public function index(){
$data = Beasiswa::all();
return view('beasiswa.daftar_beasiswa')->with('data', $data);
}
路由是这样定义的
Route::resource('/beasiswa', 'BeasiswaController');
Route::get('beasiswa', 'BeasiswaController@index');
这是我的 模型 Beasiswa.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Beasiswa extends Model
{
protected $fillable = [
'nama_bea',
'syarat',
'waktu_pendaftaran',
'status'
];
public function callDatabeasiswa(){
return $this->hasMany('App\Databeasiswa');
}
}
这是我在 daftar_beasiswa.blade.php
上的 View<table class="table table-striped">
<thead>
<tr>
<th style="width: 20px">No</th>
<th>Nama Beasiswa</th>
<th>Periode Pendaftaran</th>
<th style="width: 45px">Edit</th>
<th style="width: 45px">Detail</th>
<th style="width: 45px">Hapus</th>
<th style="width: 45px">Broadcast</th>
</tr>
</thead>
<tbody>
@foreach($data as $a)
<tr>
<td>{{ $a->id }}</td>
<td>{{ $a->nama_bea }}</td>
<td>{{ $a->waktu_pendaftaran }}</td>
<td>
<a href="{{ url('beasiswa/'.$a->id.'/edit') }}" class="btn btn-info btn-sm"><i class="glyphicon glyphicon-pencil"></i></a>
</td>
<td>
<a href="{{ url('beasiswa/'.$a->id) }}" class="btn btn-warning btn-sm"><i class="glyphicon glyphicon-eye-open"></i></a>
</td>
<td>
<form action="{{ url('beasiswa/'.$a->id) }}" method="post">
{{ csrf_field() }}
<input type="hidden" name="_method" value="DELETE"><button type="submit" class="btn btn-danger btn-sm"><i class="glyphicon glyphicon-trash"></i></button>
</form>
</td>
<!-- POST -->
<td>
<!-- BUTTON SEND VIA TELEGRAM -->
{{ csrf_field() }}
<button data-toggle="modal" data-target="#modal-sendtelegram" type="button" class="btn btn-primary btn-sm"><i class="glyphicon glyphicon-send"></i></button>
</td>
</tr>
@endforeach
</tbody>
</table>
首先,您使用 ->with() 函数将数据作为会话数据发送。最好只将它提供给您查看。其次,您基本上是在发送带有任意标识符的数据。
$data 应该是一个数组 - 其中的键将变成您可以在视图中访问的变量。真聪明
因此,如果您在控制器中执行此操作:
$data = ['name' => 'Mr. Smith', 'models' => MyModel::all()];
return view('myview', $data);
您可以在您的视图中像这样访问数据:
<p>{{ $name }}</p>
@foreach($models as $model)
<p>{{ $model->myAttribute }}</p>
@endforeach
所以在你的情况下,尝试做这样的事情:
// In your controller
public function index() {
$data = ['beasiswa' => Beasiswa::all()];
return view('beasiswa.daftar_beasiswa', $data);
}
然后
// in your view
@foreach($beasiswa as $a)
....