我找到了幾種方法來做我需要做的事情,第一種方法是使用 web.php 檔案進行路由。但是根據多篇帖子,這會在應用程式中造成漏洞。所以我發現正確的用法是使用管理資料庫查詢的控制器。
我創建了一個名為 EventsController 的控制器并將其放入其中:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class EventsController extends Controller
{
public function index()
{
$events = DB::table('eventaries')->select('id','coursname','start', 'end', 'category')->get();
return view('components.course-list')->with('eventaries', $events);
}
}
刀片在檔案夾內: /resources/views/components/course-list.blade.php
在刀片內部,我使用以下代碼:
<div class="px-6 py-20">
<div class="max-w-7xl mx-auto">
<!-- Course List -->
{{ $events->coursname}}
</div>
</div>
但我收到錯誤:
Undefined variable $events (View: D:\laragon\www\censored\resources\views\components\course-list.blade.php)
uj5u.com熱心網友回復:
在with視圖上使用該方法時,第一個引數(鍵)成為視圖中變數的名稱,第二個引數(值)成為它的值。
這意味著您需要$eventaries在您的視圖中使用,而不是$events在您的控制器中使用或重命名該鍵return view('components.course-list')->with('events', $events);。
另外,我不確定直接在路由檔案中定義操作會導致漏洞。我只是認為路由檔案(通常是開發人員在探索 Laravel 應用程式時的第一個入口點)變得難以閱讀/管理。
uj5u.com熱心網友回復:
->with('eventaries', $events) 意味著您將 $events 的值作為事件傳遞。因此,在刀片中,您需要使用 $eventaries 來訪問它。所以現在刀片代碼將是:
<div class="px-6 py-20">
<div class="max-w-7xl mx-auto">
<!-- Course List -->
{{ $eventaries->coursname}}
</div>
</div>
uj5u.com熱心網友回復:
您已將“eventaries”作為事件的名稱。所以你只能在視圖中使用 $eventaries 訪問它,而不是作為事件。
uj5u.com熱心網友回復:
您正在使用“with”方法將值傳遞給視圖,它就像一個值/鍵對 (->with($key, $value))。在您的情況下,您將其宣告為
return view('components.course-list')->with('eventaries', $events);
因此,在視圖中,您可以通過 $eventaries 而不是 $events 訪問該值。此外,查詢結果是一個集合,您需要回圈它以獲取每個專案
<div class="px-6 py-20">
<div class="max-w-7xl mx-auto">
<!-- Course List -->
@foreach($eventaries as $event)
{{ $event->coursename }}
@endforeach
</div>
</div>
uj5u.com熱心網友回復:
是什么導致了這個問題?
這個問題的問題是因為路由器從未訪問我創建的控制器。我將以下代碼添加到我的路由器以訪問控制器:
Route::get('/kursangebote/{course}', ['App\Http\Controllers\EventaryController', 'index'])->name('course.list-list');
在那里我添加了我想要的邏輯。
['App\Http\Controllers\EventaryController', 'index']
App\Http\Controllers\EventaryController是我使用的控制器,以及index我需要呼叫的控制器內部的函式。為這個https://laravel.com/docs/8.x/eloquent使用 Eloquent 可能是一個更好的主意
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/367529.html
上一篇:限制Laravel中記錄的插入
