当前位置: 首页 > 知识库问答 >
问题:

无法从可控制模型cakephp获取所需字段

傅志用
2023-03-14

我和学生之间有很多关系。守护者有很多学生。我不能从可控制的对象学生那里得到所需的字段,相反,我从学生那里得到了一切,但我确实从卫报那里得到了所需的字段。

http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html

   $this->Guardian->Behaviors->load('Containable'); 
    $guardians =$this->Guardian->find('all',array( 
                'contain'=>array('Student',
                    array( 'fields'=> array('Student.guardian_id,Student.id,Student.first_name' ))),

               'order' => array('guardian_first_name ASC'),
             'fields'=> array('Guardian.guardian_first_name,Guardian.guardian_last_name,Guardian.id' ),
               'recursive'=> -1      
              ));

array(
    (int) 0 => array(
        'Guardian' => array(
            'guardian_first_name' => '',
            'guardian_last_name' => '',
            'id' => '166'
        ),
        'Student' => array(
            (int) 0 => array(
                'id' => '166',
                'student_inactive' => true,
                'student_enq' => false,
                'student_unallocated' => false,
                'first_name' => 'Kala',
                'last_name' => 'narayanan',

共有2个答案

傅奕
2023-03-14

数组('字段'=

使用没有模型名称的字段。

郎仰岳
2023-03-14

字段选项嵌套不正确,如果正确格式化代码,您可能会注意到这一点,大致如下:

$this->Guardian->Behaviors->load('Containable'); 
$guardians = $this->Guardian->find('all', array( 
    'contain' => array(
        'Student',
        array(
            'fields'=> array(
                'Student.guardian_id,Student.id,Student.first_name'
            )
        )
    ),
    'order' => array(
        'guardian_first_name ASC'
    ),
    'fields' => array(
        'Guardian.guardian_first_name,Guardian.guardian_last_name,Guardian.id'
    ),
    'recursive'=> -1
));

保存字段选项的数组必须作为学生键的值传递。

// ...
'contain' => array(
    'Student' => array(
        'fields'=> /* ...*/
    )
),
// ...

另一方面,当以逗号分隔的字符串传递字段时(这可能不是最好的主意),没有必要在数组中传递它们。

 类似资料:
  • 我试图检索一个模型实例及其相关的一个,以便只从两者检索某些字段。这和这两个问题回答了如何为相关模型做到这一点,它对我来说很有效: 但是,如果我也试图限制模型的字段,则根本无法检索数据:

  • 问题内容: 在Django中,你可以指定如下关系: 然后在内部必须将字符串“ Person”转换为模型。 该功能在哪里?我想使用它,但是找不到。 问题答案: 在Django 1.7中已弃用(在1.9中删除),以支持新的应用程序加载系统。 Django 1.7文档为我们提供了以下内容:

  • 我正在尝试为Swagger中的项目获取模型模式。我想通过一个http请求来实现这一点,该请求来自不同于托管Swagger的机器。 我可以从以下位置获取作为json的Swagger API文档: 该响应包含: 是否有任何方法获取“/definitions/Item”模型模式? 我想做一个http获取,比如: 我使用的是Swagger 2.0版。 谢谢

  • 以下是我在js控制台中不断出现的错误: CORS策略阻止从来源“http://localhost:3000”在“https://www.myapp.com/api/test”获取:对飞行前请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头。如果一个不透明的响应满足您的需要,请将请求的模式设置为“no-cors”,以便在禁用CORS的情况下获

  • 问题内容: 我有一个用Java编写的控制台程序,该程序可以响应单键按下,但是用户不按Enter。 我正在打乒乓球,所以需要上下键来移动蝙蝠的东西。 欢迎使用其他方法!(除了制作GUI外) -编辑: 我将只在UNIX系统(OSX和Linux)上运行程序,因此我可以通过以下方式将终端置于“原始”模式: 当我在运行程序之前在控制台中键入该命令时,它将起作用!但是我需要Java自动执行此操作,因此我尝试了

  • 目前,我正在从Jersey迁移到Spring MVC,并需要提供相同的行为和功能。 在以前的情况下,我们有一个Jersey ContainerRequestFilter来注册Prometheus度量。度量包含资源方法的路径模板。例如:我的资源方法: 因此,在ContainerRequestFilter中,我们使用检索路径模板 明确地说,我不想获取requestUri(),而是匹配的endpoint