M6 Nr3 3a)&c)

This commit is contained in:
S170H
2024-01-19 16:59:27 +01:00
parent c7b96bc214
commit a133967282
6 changed files with 63 additions and 40 deletions

View File

@@ -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,

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;

View File

@@ -37,11 +37,8 @@
{{$id = $data["gerichtid"]}}
@endif
@if(isset($gericht))
@if(isset($gerichtName, $bildname))
<?php
$gericht = $gericht[0];
$bildname = $gericht->bildname;
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";
@@ -59,7 +56,7 @@
<img class="bewertung" src="{{$bildname}}" alt="Bild vom Gericht" width= "10" height="10">
</div>
<div>
<h1>{{$gericht->name}}</h1>
<h1>{{$gerichtName}}</h1>
<form action="/bewertung_abschicken" method="post">

View File

@@ -76,10 +76,10 @@
foreach ($result_sql_gerichte as $row_gerichte) {
$preisintern = number_format($row_gerichte->preisintern, 2, ',', '.');
$preisextern = number_format($row_gerichte->preisextern, 2, ',', '.');
$bildname = $row_gerichte->bildname;
$gericht = \App\Models\Gericht::query()->find($row_gerichte->id);
$preisintern = $gericht->getPreisIntern();
$preisextern = $gericht->getPreisExtern();;
$bildname = $gericht->getBildName();
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";