voting added

This commit is contained in:
HolgerHatGarKeineNode
2023-03-11 00:10:30 +01:00
parent e8fac5e11e
commit 255bf2a2d8
2 changed files with 43 additions and 4 deletions

View File

@@ -6,42 +6,52 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Facades\Cookie;
use Spatie\Image\Manipulations; use Spatie\Image\Manipulations;
use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\MediaCollections\Models\Media; use Spatie\MediaLibrary\MediaCollections\Models\Media;
use Spatie\Sluggable\HasSlug;
use Spatie\Sluggable\SlugOptions;
class ProjectProposal extends Model implements HasMedia class ProjectProposal extends Model implements HasMedia
{ {
use InteractsWithMedia; use InteractsWithMedia;
use HasFactory; use HasFactory;
use HasSlug;
/** /**
* The attributes that aren't mass assignable. * The attributes that aren't mass assignable.
*
* @var array * @var array
*/ */
protected $guarded = []; protected $guarded = [];
/** /**
* The attributes that should be cast to native types. * The attributes that should be cast to native types.
*
* @var array * @var array
*/ */
protected $casts = [ protected $casts = [
'id' => 'integer', 'id' => 'integer',
'user_id' => 'integer', 'user_id' => 'integer',
]; ];
protected static function booted() protected static function booted()
{ {
static::creating(function ($model) { static::creating(function ($model) {
if (! $model->created_by) { if (!$model->created_by) {
$model->created_by = auth()->id(); $model->created_by = auth()->id();
} }
}); });
} }
public function getSlugOptions(): SlugOptions
{
return SlugOptions::create()
->generateSlugsFrom(['name'])
->saveSlugsTo('slug')
->usingLanguage(Cookie::get('lang', config('app.locale')));
}
public function registerMediaConversions(Media $media = null): void public function registerMediaConversions(Media $media = null): void
{ {
$this $this

View File

@@ -0,0 +1,29 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('project_proposals', function (Blueprint $table) {
$table->string('slug')
->unique()
->after('id');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('project_proposals', function (Blueprint $table) {
//
});
}
};