Ссылка на модели cakephp 2.x - PullRequest
0 голосов
/ 23 сентября 2019

У моего клиента много позиций, а у каждой позиции много смен.

enter image description here

Мне это нужно, когда я делаю клиентаquery $this->Client->find('all') Я возвращаю все задания и смены данных для каждого клиента

Array(
    [0] => Array(
        [Client] => Array(
            [id] => 1
            [name] => ALLIANCE
            [date1] => 
            [date2] => 
            [status] => 1
        )
        [Jobs] => Array(
            [0] => Array(
                [id] => 1
                [client_id] => 1
                [description] => ensamblador
                [date] => 2019-09-22
                [status] => 1
                [created] => 2019-09-22 21:11:23
                [modified] => 2019-09-22 21:11:25
                [user_id] => 1
            )
        )
    )
    [1] => Array(
        [Cliente] => Array(
            [id] => 2
            [nname] => BAXTER
            [date1] => 
            [date2] => 
            [status] => 1
        )
        [Jobs] => Array(
            [0] => Array(
                [id] => 2
                [client_id] => 2
                [description] => ensamble
                [date] => 2019-09-22
                [status] => 1
                [created] => 2019-09-22 21:32:26
                [modified] => 2019-09-22 21:32:27
                [user_id] => 1
            )
        )
    )
    [2] => Array(
        [Cliente] => Array(
            [id] => 3
            [nombre] => BD CARE FUSION
            [date1] => 
            [date2] => 
            [status] => 1
        )
        [Jobs] => Array()
    )

, но я не знаю, что делать, чтобы отправить мне смены тоже

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Вы пытались установить принадлежность ClientJobShift к ClientJob

Как это

<?php
App::uses('AppModel','Model');
class ClientJobShift extends AppModel {


   $this->belongsTo('ClientJob')
        ->setForeignKey('job_id');
}
0 голосов
/ 23 сентября 2019

Полагаю, следующего кода должно быть достаточно для вашего сценария.Если бы вы могли предоставить более подробную информацию, мы можем помочь вам лучше.

App::uses('AppModel', 'Model');
class ClientJob extends AppModel
{

    public $belongsTo = array(
        'Client' => array(
            'className' => 'Client',
            'foreignKey' => 'client_id',
        )
    );

    public $hasMany = array(
        'Shifts' => array(
            'className' => 'ClientJobShift',
            'foreignKey' => 'job_id'
        )
    );
}

Вы можете попробовать проверить результат, используя этот способ

$clientJob = this->ClientJob->findById(9999);
echo json_encode($clientJob);
...