PHPのLaravelで以下のようなシーディングファイルを作成しました。
使用エディタはVSCodeです。
<?php use Illuminate\Database\Seeder; use App\Models\StaffLog; use Carbon\Carbon; $now = Carbon::now(); class StaffLogSeeder extends Seeder { protected $staff_logs = [ [ 'staff_id' => 4, 'evaluation' => 'good', 'created_at' => $now, 'updated_at' => $now ],[ 'staff_id' => 5, 'evaluation' => 'NULL', 'created_at' => $now, 'updated_at' => $now ],[ 'staff_id' => 5, 'evaluation' => 'bad', 'created_at' => $now, 'updated_at' => $now ],[ 'staff_id' => 7, 'evaluation' => 'NULL', 'created_at' => $now, 'updated_at' => $now ] ]; public function run() { foreach ($this->staff_logs as $staff_log) { StaffLog::create($staff_log); } } }
protected $staff_logs = [
の部分に
Constant expression contains invalid operations There must not be more than one property declared per statementphpcs
と言うエラーメッセージが表示されます。
protected $staff_logsのなかに$nowが含まれていることが原因かともおもったのですが、具体的な解決方法が見出せません。
carbonを使わず、now() を使用してもダメでした。
また、マイグレーションファイルでは、タイムスタンプを有効にしてあるので、
'created_at'=> $now, と 'updated_at' => $now
の記述を削除してみたのですが、それもうまくできませんでした。(phpMyadminに正しく値が反映されませんでした。)
アドバイスお願いいたします。
回答1件
あなたの回答
tips
プレビュー