【问题标题】:Cakephp3.0 model how new orm model workCakephp3.0模型新orm模型如何工作
【发布时间】:2015-04-05 05:12:50
【问题描述】:

嘿,我正在尝试从表中检索数据,我可以通过控制器内部的 tableregistry 我的控制器名称是 messagecontroller.ph mysql 表名称是消息: 这是我的代码

 public function view($pid)
{

    $messages = TableRegistry::get('Messages');
 $query = $messages->find();

 foreach ($query as $row) {
   echo $row->title;
  }

如何在消息表中执行此操作我的意思是如何在消息表中编写它以及如何在控制器中显示它或者它将直接与视图交互

【问题讨论】:

  • 在您走得太远之前,您需要访问 CakePHP Book。你采用的方法是完全错误的......开发人员已经付出了很多工作来整理这本书。我已经阅读了整本书一次,并且我不断地回顾,所以我确实看到了他们付出的努力确保人们很容易地了解 CakePHP 框架……这是你最好的选择……查看 BOOK book.cakephp.org/3.0/en/index.html
  • 我有一些问题想通过例子来理解
  • 阅读手册。它包括代码示例,是了解框架和 ORM 的结构化方式。您的问题表明您在阅读某些内容时付出了零的努力,只是通过反复试验并询问官方手册中涵盖的最基本内容。您希望人们在此处为您复制并粘贴文档吗?
  • 好的告诉我这个特定答案的答案在哪里告诉我 cakephp3.0 的文档如何创建一个瘦控制器告诉我。
  • 没有。学习如何学习和使用一本书。提示:从第一页开始阅读,从上到下,整页,按数字顺序逐一阅读:book.cakephp.org 如果您花 1 分钟阅读该页面,您会注意到“控制器”一词多次出现在那里.能够使用文档是开发人员的基本技能。从长远来看,能够使用文档将对您有所帮助,并让您在不依赖勺子喂养和反复试验的情况下取得进步。

标签: cakephp model cakephp-3.0


【解决方案1】:

我找到了如何在 cakephp3.0 中创建瘦控制器的解决方案

我有一个名为 messages 的 mysql 表,我创建了一个两个文件 MessagesTable.php 这里是代码:

enter code here  <?php
        // src/Model/Table/UsersTable.php
       namespace App\Model\Table;

      use Cake\ORM\Table;
     use Cake\Validation\Validator;
    use Cake\ORM\TableRegistry;

      class MessagesTable extends Table
     {



     public function validationDefault(Validator $validator)
    {
    $validator
        ->notEmpty('title')
        ->notEmpty('messages');

    return $validator;
    }



     function myMessages() {
      $query = $this->find('all');
      $results = $query->all();
      $data = $results->toArray();

      return $data;



      }



       }

在这里我创建了一个名为 function myMessages() 的函数

我在 messagescontroller.php 中使用:

   $data = $this->Messages->myMessages();

完整代码是:

   $data = $this->Messages->myMessages();

    foreach ($data as $row){
   echo $row->title;
     }

【讨论】:

    【解决方案2】:

    按照以下步骤并根据您的表和控制器名称更改 ArticlesTable 类和控制器类: 在 src\Model\Table 文件夹下创建 ArticlesTable.php,如下所示

    <?php
    namespace App\Model\Table;
    use Cake\ORM\Table;
    class ArticlesTable extends Table
    {
    
    }
    ?>
    

    在控制器中:

    $data = $this->Articles->find();
    foreach ($data as $row){
      echo $row->title;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-05
      • 2019-02-10
      • 1970-01-01
      • 2023-02-09
      • 2019-03-10
      • 2015-10-29
      • 2012-12-31
      • 1970-01-01
      相关资源
      最近更新 更多