やりたいこと
複数のViewでModelの検索結果を出力させたい
一箇所であればcontrollerで検索処理を行いviewに渡すが、複数箇所で利用したい
HelperでModel呼び出しはできないのか?
それともHelperで検索処理を行うより別の場所で行うのがよいか?
そのため共通で利用できるHelperを作成
やってみたこと
src/View/Helper/Info.php
作成
php
1<?php 2namespace App\View\Helper; 3 4use Cake\View\Helper; 5use Cake\View\View; 6 7class InfoHelper extends Helper 8{ 9 10 protected $_defaultConfig = []; 11 var $uses = array('Users', 'Mails'); 12 13 function get_info(int $id=null) 14 { 15 if (is_null($id)) return null; 16 $this->loadModel('Users'); 17//$user = ClassRegistry::init('Users'); 18$user = $this->getTableLocator()->get('Users'); 19// 上記はエラー 20 21 $row = $user->find()->where(['id' => $id])->first(); 22 // $rowをもとにして整形しresultを作成してreturn 23 return $result; 24 } 25 26} 27
cakephp4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。