亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否有可能為同一控制器和視圖中的多個表進行分頁

是否有可能為同一控制器和視圖中的多個表進行分頁

PHP
開滿天機 2022-07-22 10:21:23
控制器代碼:控制器代碼適用于雇主分頁,但無法對 Stories 控制器進行分頁。    public $paginate = [        'Employers' => ['scope' => 'employer'],        'Stories' => ['scope' => 'story']    ];    public function index()    {        // Paginate property        $this->loadComponent('Paginator');        // In a controller action        $stories = $this->paginate($this->Stories, ['scope' => 'story']);        $employers = $this->paginate($this->Employers, ['scope' => 'employer']);        pr($stories);        $this->set(compact('employers', 'stories'));    }模型代碼:模型描述對于所有模型來說都是一樣的,但是理解模型定義不能用于故事模型,但是隨著我們對雇主表的模型定義的進展,它工作得很好。<?php// src/Model/Table/EmployersTable.phpnamespace App\Model\Table;use Cake\ORM\Table;class EmployersTable extends Table{    public function initialize(array $config): void    {        $this->addBehavior('Timestamp');    }}<?php// src/Model/Entity/Employer.phpnamespace App\Model\Entity;use Cake\ORM\Entity;class Spk extends Entity{    protected $_accessible = [        '*' => true,        'id' => false,        'slug' => false,    ];}<?php// src/Model/Table/StoriesTable.phpnamespace App\Model\Table;use Cake\ORM\Table;class StoriesTable extends Table{    public function initialize(array $config): void    {        $this->addBehavior('Timestamp');    }}<?php// src/Model/Entity/Story.phpnamespace App\Model\Entity;use Cake\ORM\Entity;class Sty extends Entity{    protected $_accessible = [        '*' => true,        'id' => false,        'slug' => false,    ];}當我通過加載頁面操作時,我一直在尋找錯誤,我面臨著雇主數據調用但故事數據無法加載的問題。建議開放查看期待您的回答。錯誤信息:Undefined property: EmployersController::$Stories in /Applications/MAMP/htdocs/sd/sd/src/Controller/EmployersController.php
查看完整描述

2 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

不,這是不可能的,因為 CakePHP 僅適用于對同一模型具有多個分頁查詢請求的單個表。但不適用于許多模型。



查看完整回答
反對 回復 2022-07-22
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

當然有可能,該功能已明確記錄在案。該錯誤與分頁無關,它只是意味著您嘗試訪問的屬性 ( $this->Stories) 不存在。


控制器只有一個自動加載的默認模型,即根據約定與控制器名稱匹配的模型,因此在您EmployersController的Employers模型中。額外的模型需要手動加載:


$this->loadModel('Stories');


// ...


$stories = $this->paginate($this->Stories, ['scope' => 'story']);


查看完整回答
反對 回復 2022-07-22
  • 2 回答
  • 0 關注
  • 113 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號