121 lines
3.6 KiB
PHP
121 lines
3.6 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Session;
|
|
|
|
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 getBewertungen()
|
|
{
|
|
$sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.sterne, bewertungen.bemerkung, bewertungen.hervorgehoben 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,$row->hervorgehoben]);
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
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]);
|
|
}
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
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 == null){
|
|
return 0;
|
|
}
|
|
|
|
if ($result_sql_bewertungen[0]->ersteller_id != session("benutzer_id", 0)) {
|
|
return 0;
|
|
}
|
|
|
|
$sql_bewertungen = "DELETE FROM bewertungen WHERE bewertungen.id = " . $id;
|
|
DB::delete($sql_bewertungen);
|
|
|
|
return 1;
|
|
}
|
|
|
|
function hervorheben(int $id){
|
|
$benutzer = new benutzer();
|
|
if($benutzer->isAdmin(session("benutzer_id",0))!=1){
|
|
return 0;
|
|
}
|
|
|
|
$sql = "UPDATE bewertungen SET hervorgehoben =1 WHERE id =" .$id;
|
|
DB::update($sql);
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
function dehervorheben(int $id){
|
|
$benutzer = new benutzer();
|
|
if($benutzer->isAdmin(session("benutzer_id",0))!=1){
|
|
return 0;
|
|
}
|
|
|
|
$sql = "UPDATE bewertungen SET hervorgehoben =0 WHERE id =" .$id;
|
|
DB::update($sql);
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
function hervorgehobene_bewertungen(){
|
|
$sql_bewertungen = "SELECT bewertungen.gericht_id, bewertungen.id, bewertungen.sterne, bewertungen.bemerkung, bewertungen.hervorgehoben FROM bewertungen WHERE bewertungen.hervorgehoben = 1 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,$row->id,$row->hervorgehoben]);
|
|
}
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
}
|