【发布时间】:2021-02-15 06:24:44
【问题描述】:
大家好,我面临一个问题,我在 SO 中看到了很多次,但我不明白为什么人们提供的解决方案都没有为我工作.. 我正在尝试在下拉菜单中打印我的数据库中的所有表(以便我可以选择一个表,然后用粗略的修改它)使用 web.php 作为路由、控制器和视图。 在您将在下面看到的示例中,我只是试图传递一个变量,而不是整个数据库
这是我的控制器代码:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\View;
class EditController extends Controller
{
public function index(){
$tables = 'test';
return view('edit')->with('tables',$tables);
}
}
这是edit.blade.php的变量
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<div>
Select the table you want to edit
</div>
<div class="form-group row">
<label for="table_name" class="col-md-4 col-form-label text-md-right">Tables</label>
<div class="col-md-6" style="width: border-box">
<SELECT id= "table_name" type="text" class="form-control @error('tables') is-invalid @enderror" name='table_name' style="width: 300px">
<option> {{ $tables }}</option>
</SELECT>
@error('tables')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>
最后,这是 web.php
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/edit', [App\Http\Controllers\EditController::class, 'index']); // <-this is the controller
Route::get('/edit', [App\Http\Controllers\HomeController::class, 'openEditBlade'])->name('edit');
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Route::get('/logout', '\App\Http\Controllers\Auth\LoginController@logout');
【问题讨论】:
-
在您的路线中,您有 2 个相同的 GET URI
edit!!! -
undefined variable $test,但你定义$tables -
对不起,很多复制粘贴错误,错误在$tables上
标签: php laravel routes controller laravel-blade