From a133967282e281c659c772739fdf9cabef29bdcc Mon Sep 17 00:00:00 2001
From: S170H <64917343+S170H@users.noreply.github.com>
Date: Fri, 19 Jan 2024 16:59:27 +0100
Subject: [PATCH] M6 Nr3 3a)&c)
---
.../app/Http/Controllers/MainController.php | 29 +++++++----
M6/emensamobile/app/Models/Gericht.php | 6 ++-
M6/emensamobile/app/Models/Gerichte.php | 2 +
M6/emensamobile/app/Models/bewertungen.php | 51 +++++++++++--------
.../resources/views/main/bewertung.blade.php | 7 +--
.../resources/views/main/index.blade.php | 8 +--
6 files changed, 63 insertions(+), 40 deletions(-)
diff --git a/M6/emensamobile/app/Http/Controllers/MainController.php b/M6/emensamobile/app/Http/Controllers/MainController.php
index 2aa10d4..07029c1 100644
--- a/M6/emensamobile/app/Http/Controllers/MainController.php
+++ b/M6/emensamobile/app/Http/Controllers/MainController.php
@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Models\bewertungen;
+use App\Models\Gericht;
use Illuminate\Routing\Controller as BaseController;
use App\Models\Gerichte;
use Illuminate\Http\Request;
@@ -46,18 +47,22 @@ class MainController extends BaseController
if ($data["gerichtid"] != null) {
- $gericht = new Gerichte();
- $g = $gericht->db_gericht_bewertung($data["gerichtid"]);
+ $gericht = Gericht::query()->find($data["gerichtid"]);
+ $gerichtName = $gericht->getGerichtName();
+ $bildname = $gericht->getBildname();
+
return view('main.bewertung', [
- "gericht" => $g,
+ "gerichtName" => $gerichtName,
+ "bildname" => $bildname,
"data" => $data,
'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
]);
}
}
+
$b = new bewertungen();
- $bewertungen = $b->bewertungen();
+ $bewertungen = $b->getBewertungen();
return view('main.bewertung', [
"bewertungen" => $bewertungen,
@@ -75,11 +80,17 @@ class MainController extends BaseController
$bemerkung = $data["bemerkung"] ?? NULL;
$benutzer = session("benutzer_id",0);
+ bewertungen::query()->firstOrCreate(
+ [
+ 'ersteller_id' => $benutzer,
+ 'gericht_id' => $id,
+ 'bemerkung' => $bemerkung,
+ 'sterne' => $sterne
+ ]
+ );
$b = new bewertungen();
- $check = $b->bewerten($benutzer,$id,$sterne, $bemerkung);
-
- $bewertungen = $b->bewertungen();
+ $bewertungen = $b->getBewertungen();
return view('main.bewertung', [
"bewertungen" => $bewertungen,
@@ -108,13 +119,13 @@ class MainController extends BaseController
$data = $rd;
if ($data["loschen"] != null) {
- $check = $b->loschen($data["loschen"]);
+ $check = $b->deleteMeineBewertung($data["loschen"]);
}
}
- $meine = $b->meine_bewertungen($benutzer_id);
+ $meine = $b->getMeineBewertungen($benutzer_id);
return view('main.meine_bewertungen', [
"check" => $check,
diff --git a/M6/emensamobile/app/Models/Gericht.php b/M6/emensamobile/app/Models/Gericht.php
index b140b93..de68bd3 100644
--- a/M6/emensamobile/app/Models/Gericht.php
+++ b/M6/emensamobile/app/Models/Gericht.php
@@ -24,10 +24,14 @@ class Gericht extends Model {
return number_format($unformatted, 2, ',');
}
- function getBildname (){
+ function getBildname(){
return $this->attributes['bildname'];
}
+ function getGerichtName(){
+ return $this->attributes['name'];
+ }
+
function setVegetarischAttribut($value){
if ($value == 1 || $value == 0){
$this->attributes['vegetarisch'] = $value;
diff --git a/M6/emensamobile/app/Models/Gerichte.php b/M6/emensamobile/app/Models/Gerichte.php
index 6877e2f..2f008df 100644
--- a/M6/emensamobile/app/Models/Gerichte.php
+++ b/M6/emensamobile/app/Models/Gerichte.php
@@ -74,12 +74,14 @@ class Gerichte extends Model {
}
+ // Überflüssig
function db_gericht_bewertung(int $id){
$sql_gerichte = "SELECT gericht.name, gericht.bildname FROM gericht WHERE id =". $id;
$result_sql_gerichte = DB::select($sql_gerichte);
return $result_sql_gerichte;
}
+ //Überflüssig
function db_gericht_name(int $id){
$sql_gerichte = "SELECT gericht.name FROM gericht WHERE id =". $id;
$result_sql_gerichte = DB::select($sql_gerichte);
diff --git a/M6/emensamobile/app/Models/bewertungen.php b/M6/emensamobile/app/Models/bewertungen.php
index 74b1ff8..8a2c52f 100644
--- a/M6/emensamobile/app/Models/bewertungen.php
+++ b/M6/emensamobile/app/Models/bewertungen.php
@@ -8,56 +8,65 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Session;
-class bewertungen extends Model
-{
+class bewertungen extends Model {
+ protected $table = 'bewertungen';
+ protected $primaryKey = 'id';
+ public $incrementing = true;
+ protected $attributes = [
+ 'hervorgehoben' => 0
+ ];
+ public $fillable = [
+ 'ersteller_id',
+ 'gericht_id',
+ 'bemerkung',
+ 'sterne'
+ ];
+
+ public $timestamps = false;
+
use HasFactory;
- function bewerten(int $ersteller, int $gericht, int $sterne, string $bemerkung){
- $sql = "INSERT INTO bewertungen (ersteller_id,gericht_id,bemerkung,sterne,hervorgehoben) VALUES (".$ersteller. ",". $gericht.",\"". $bemerkung."\",".$sterne.",0);";
-
- DB::insert($sql);
-
- return 1;
- }
-
- function bewertungen(){
+ function getBewertungen()
+ {
$sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.sterne, bewertungen.bemerkung FROM bewertungen ORDER BY bewertungen.erstellungsdatum LIMIT 30";
$result_sql_bewertungen = DB::select($sql_bewertungen);
$result = [];
foreach ($result_sql_bewertungen as $row) {
- $sql = "SELECT gericht.name FROM gericht WHERE gericht.id=". $row->gericht_id;
- array_push($result,[DB::select($sql),$row->sterne,$row->bemerkung]);
+ $sql = "SELECT gericht.name FROM gericht WHERE gericht.id=" . $row->gericht_id;
+ array_push($result, [DB::select($sql), $row->sterne, $row->bemerkung]);
}
return $result;
}
- function meine_bewertungen(int $id){
- $sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.id ,bewertungen.sterne, bewertungen.bemerkung FROM bewertungen WHERE bewertungen.ersteller_id =". $id." ORDER BY bewertungen.erstellungsdatum";
+ function getMeineBewertungen(int $id)
+ {
+ $sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.id ,bewertungen.sterne, bewertungen.bemerkung FROM bewertungen WHERE bewertungen.ersteller_id =" . $id . " ORDER BY bewertungen.erstellungsdatum";
$result_sql_bewertungen = DB::select($sql_bewertungen);
$result = [];
foreach ($result_sql_bewertungen as $row) {
$sql = "SELECT gericht.name FROM gericht WHERE gericht.id=" . $row->gericht_id;
- array_push($result, [DB::select($sql), $row->sterne, $row->bemerkung,$row->id]);
+ array_push($result, [DB::select($sql), $row->sterne, $row->bemerkung, $row->id]);
}
- return $result;
+ return $result;
}
- function loschen(int $id){
- $sql_bewertungen = "SELECT bewertungen.ersteller_id FROM bewertungen WHERE bewertungen.id =". $id;
+ function deleteMeineBewertung(int $id)
+ {
+ $sql_bewertungen = "SELECT bewertungen.ersteller_id FROM bewertungen WHERE bewertungen.id =" . $id;
$result_sql_bewertungen = DB::select($sql_bewertungen);
- if($result_sql_bewertungen[0]->ersteller_id != session("benutzer_id",0)){
+ if ($result_sql_bewertungen[0]->ersteller_id != session("benutzer_id", 0)) {
return 0;
}
- $sql_bewertungen = "DELETE FROM bewertungen WHERE bewertungen.id = ".$id;
+ $sql_bewertungen = "DELETE FROM bewertungen WHERE bewertungen.id = " . $id;
DB::delete($sql_bewertungen);
return 1;
diff --git a/M6/emensamobile/resources/views/main/bewertung.blade.php b/M6/emensamobile/resources/views/main/bewertung.blade.php
index c0a8c31..5366fa8 100644
--- a/M6/emensamobile/resources/views/main/bewertung.blade.php
+++ b/M6/emensamobile/resources/views/main/bewertung.blade.php
@@ -37,11 +37,8 @@
{{$id = $data["gerichtid"]}}
@endif
- @if(isset($gericht))
+ @if(isset($gerichtName, $bildname))
bildname;
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";
@@ -59,7 +56,7 @@