Add meals as JSON field on User

This commit is contained in:
Christopher C. Wells 2021-05-26 06:05:42 -07:00
parent c15f81ee6b
commit 7f3cde04ef
2 changed files with 37 additions and 0 deletions

View File

@ -3,6 +3,7 @@
namespace App\Models; namespace App\Models;
use App\Models\Traits\Sluggable; use App\Models\Traits\Sluggable;
use Illuminate\Database\Eloquent\Casts\AsCollection;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
@ -51,6 +52,8 @@ use Spatie\MediaLibrary\MediaCollections\Models\Media;
* @mixin \Eloquent * @mixin \Eloquent
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\JournalDate[] $journalDates * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\JournalDate[] $journalDates
* @property-read int|null $journal_dates_count * @property-read int|null $journal_dates_count
* @property \Illuminate\Support\Collection|null $meals
* @method static \Illuminate\Database\Eloquent\Builder|User whereMeals($value)
*/ */
final class User extends Authenticatable implements HasMedia final class User extends Authenticatable implements HasMedia
{ {
@ -66,6 +69,7 @@ final class User extends Authenticatable implements HasMedia
'username', 'username',
'password', 'password',
'name', 'name',
'meals',
'admin', 'admin',
]; ];
@ -82,6 +86,7 @@ final class User extends Authenticatable implements HasMedia
*/ */
protected $casts = [ protected $casts = [
'admin' => 'bool', 'admin' => 'bool',
'meals' => AsCollection::class,
]; ];
/** /**

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddMealsToUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->json('meals')->nullable()->after('name');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('meals');
});
}
}