У меня есть две таблицы в моей базе данных. Работы предназначены для использования в качестве списка доступных рабочих мест, которые должны быть классифицированы в разных жанрах бизнеса.CakePHP 3 создает связь между таблицами
работы
id(int) PRIMARY
title(varchar)
business_id(int)
start(datetime)
description(text)
бизнес
id(int) PRIMARY
name(varchar)
В индексе работе я хотел бы показать список всех заданий и их категорий. Но я застрял в получении бизнес-имени от контроллера рабочих мест.
JobsTable.php
namespace App\Model\Table;
use Cake\ORM\Table;
class JobsTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('Timestamp');
$this->HasOne('Business', ['foreignKey' => 'business_id']);
}
}
BusinessTable.php
namespace App\Model\Table;
use Cake\ORM\Table;
class BusinessTable extends Table
{
public function initialize(array $config)
{
$this->hasMany('Jobs', ['foreignKey' => 'id']);
}
}
JobsController.php
public function index()
{
$jobs = $this->Jobs->find('all');
$this->set(compact('jobs'));
}
Что я должен сделать, чтобы использовать название компании из бизнес-таблицы внутри мой JobsController и его взгляды?
Кажется, всегда ложь. '$ job-> business-> name' возвращает a' Попытка получить свойство non-object'Error. – D0vev