php - ErrorException 未定义变量 $siswa
问题描述
我是程序员的新人。当我想运行我的应用程序时,有一个错误异常未定义变量。
这是web.php文件中使用的代码:
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('siswa');
});
Route::get('/siswa', 'SiswaController@index');
Route::get('/siswa/export_excel', 'SiswaController@export_excel');
Route::post('/siswa/import_excel', 'SiswaController@import_excel');
我认为我的问题在我的刀片上(视图)。我展示了一些我的刀片,因为这里无法附加很多代码:
<table class='table table-bordered'>
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>NIS</th>
<th>Alamat</th>
</tr>
</thead>
<tbody>
@php $i=1 @endphp
@foreach($siswa as $s)
<tr>
<td>{{ $i++ }}</td>
<td>{{$s->nama}}</td>
<td>{{$s->nis}}</td>
<td>{{$s->alamat}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
这是我的控制器的一部分,我想要发布,但是当我想要发布它时有限制,因为它会说“很多代码”
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Siswa;
use Session;
use App\Exports\SiswaExport;
use App\Imports\SiswaImport;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;
class SiswaController extends Controller
{
public function index()
{
$siswa = Siswa::all();
return view('siswa',['siswa'=>$siswa]);
}
public function export_excel()
{
return Excel::download(new SiswaExport, 'siswa.xlsx');
}
public function import_excel(Request $request)
{
// validasi
$this->validate($request, [
'file' => 'required|mimes:csv,xls,xlsx'
]);
// menangkap file excel
$file = $request->file('file');
// membuat nama file unik
$nama_file = rand().$file->getClientOriginalName();
// upload ke folder file_siswa di dalam folder public
$file->move('file_siswa',$nama_file);
// import data
Excel::import(new SiswaImport, public_path('/file_siswa/'.$nama_file));
// notifikasi dengan session
Session::flash('sukses','Data Siswa Berhasil Diimport!');
// alihkan halaman kembali
return redirect('/siswa');
}
}
解决方案
定义主路由,并从 siswaController 中的索引方法传递视图中的参数“siswa”。
在 web.php 中:
Route::get('/','SiswaController@index');
在 SiswaController.php 中:
public function index(){
$siswa = ['name'=>'John',age=>23, email=>'joba@shija.com'];
return view('siswa',['siswa'=>'$siswa']);}
推荐阅读
- corda - 如何在 Corda 的 Initiator 节点中获取 FlowSession?
- firebase - Firestore:更新对象中的字段会删除先前的字段
- ios - Swift - UISearchBar:EXC_BREAKPOINT(代码=1,子代码=0x10297eabc)
- android - 如何在 Windows 上使用 python 构建 android 应用程序
- git - 使用 remote.repository.push 解析 git push origin
- excel - 排序,将值从表复制到另一个表并计算新值
- python - 如何使用 Python 将 NULL 值插入 PostgreSQL 数据库?
- vba - 将 Word 文档的内容插入电子邮件并使用 VBA 包含默认签名
- ms-access - 将后端数据库从 Oracle 迁移到 SQL Server,并确保所有前端 MS Access 应用程序保持正常运行
- raspberry-pi - 如何使用在 Pi 相机上不起作用的 IR LED