CakePHP3.6を使用しています。
あるテーブルで仮想プロパティの設定を行うと、実在するフィールド(name)を読むところで'Undefined index: name'のエラーが発生します。別のテーブルで同じ仮想プロパティを設定したときには正常に動作したため、そのソースをコピーしています。どこをチェックすればいいでしょうか?
PHP
1// src/Model/Entity/AllSchedule.php 2namespace App\Model\Entity; 3use Cake\ORM\Entity; 4 5class AllSchedule extends Entity 6{ 7 protected $_virtual = ['name2']; 8 9 protected function _getName2() 10 { 11 $pattern = '/((一社)|(社)|(有)|(株)|株)|*|株式会社|有限会社)/'; 12 $replacement = ''; 13 // 下の行でエラー発生 14 $name2 = preg_replace($pattern, $replacement, $this->_properties['name']); 15 return $name2; 16 } 17 18 protected $_accessible = [ 19 'id' => true, 20 'class' => true, 21 'date' => true, 22 'code' => true, 23 'name' => true, 24 ]; 25
なお、下記のindexページでは正常にnameフィールドが表示されています。
PHP
1// src/Controller/AllSchedulesController.php 2 public function index() 3 $allSchedules = $this->paginate($this->AllSchedules->find()); 4 $this->set(compact('allSchedules')); 5 }
回答1件
あなたの回答
tips
プレビュー