laravel new hajomenetrend
none
mysql
npm rund build
yes
.env ->adatbázis nevet javítsd
php
artisan make:model Menetrend
app/Models/Menetrend.php fájl tartalma:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Menetrend extends Model
{
protected $table = 'menetrend';
protected $primaryKey = 'azon';
public $timestamps = false;
protected $fillable = ['jarat', 'honnan',
'hova', 'indul', 'erkezik'];
}
php
artisan make:controller MenetrendController –api
app/Http/Controllers/MenetrendController.php:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use
App\Models\Menetrend;
class MenetrendController extends Controller
{
public function
index()
{
return Menetrend::all();
}
public function
store(Request $request)
{
try
{
$menet =
Menetrend::create($request->only(['jarat', 'honnan', 'hova', 'indul',
'erkezik']));
return response()->json($menet,
201);
} catch (\Exception $e) {
return response()->json(['error'
=> $e->getMessage()], 500);
}
}
public function
show($azon)
{
return Menetrend::findOrFail($azon);
}
public function
update(Request $request, $azon)
{
$menetrend =
Menetrend::findOrFail($azon);
$menetrend->update($request->only(['jarat', 'honnan', 'hova',
'indul', 'erkezik']));
return response()->json($menetrend);
}
public function
destroy($azon)
{
Menetrend::destroy($azon);
return response()->json(['message'
=> 'Törölve']);
}
}
php
artisan install:api
routes/api.php fájlba:
use
App\Http\Controllers\MenetrendController;
Route::apiResource('menetrend',
MenetrendController::class);
Teszt:
php artisan serve
GET /api/menetrend – összes hajójárat
GET /api/menetrend/1 – 1 járat
POST /api/menetrend – új járat
{
"jarat": "B55",
"honnan": "Tihany",
"hova": "Balatonfüred",
"indul": "12:00:00",
"erkezik": "12:45:00"
}
PUT /api/menetrend/1 – módosítás
DELETE /api/menetrend/1 – törlés
a hajómenetrend táblához hozzá kell adni, mivel az azon nem
auto increment
ALTER TABLE menetrend MODIFY COLUMN azon INT NOT NULL
AUTO_INCREMENT;
Nincsenek megjegyzések:
Megjegyzés küldése