ошибка table1 не связана с table2 cakephp3

email_orgs имеет много связей с организациями

Tabel email_orgs

id   |  name  | organizations_id

1    |  a     | 1

2    |  b     | 1

3    |  c     | 2

4    |  d     | 3

Столовые организации

id   |  name

1    |  aa

2    |  bb

3    |  cc

Модель email_orgs

class email_orgsTable extends table
{
public function initialize(array $config)
{
$this->table('email_orgs');
$this->primaryKey('id');

$this->belongsTo('organizations', [
'foreignKey' => 'organizations_id',
'joinType' => 'INNER',
'className' => 'organizations',
]);
}

}

Модельные организации

class organizationsTable extends table
{
public function initialize(array $config)
{
$this->table('organizations');
$this->primaryKey('id');

$this->belongsTo('tabaghe_organizations_peoples', [
'foreignKey' => 'tabagheOrganizationsPeople_id',
'joinType' => 'INNER',
]);
$this->belongsTo('onvane_organizations', [
'foreignKey' => 'onvaneOrganizations_id',
'joinType' => 'INNER',
]);
}
}

контроллер

    $email_org=TableRegistry::get('email_orgs');
$email_org=$email_org->find('all')->contain(['organizations'])->offset($from)->limit($to) ;

скажем erro «email_orgs не связан с организациями»

пожалуйста, помогите мне, пожалуйста

2

Решение

Соглашения по моделям и базам данных

Имена классов таблиц множественного числа и CamelCased. People, BigPeople и ReallyBigPeople являются примерами традиционных названий моделей.

Имена таблиц, соответствующие моделям CakePHP, являются множественными и подчеркнуты. Основными таблицами для вышеупомянутых моделей будут people, big_people и real_big_people соответственно.

Вы можете использовать служебную библиотеку Cake \ Utility \ Inflector для проверки единственного / множественного числа слов. См. Инфлектор для получения дополнительной информации.

Имена полей с двумя или более словами подчеркиваются: first_name.

Внешние ключи в отношениях hasMany, ownTo или hasOne по умолчанию распознаются как (единственное) имя связанной таблицы, за которым следует _id. Поэтому, если у Bakers есть Many Cakes, таблица cakes будет ссылаться на таблицу bakers через внешний ключ baker_id. Для такой таблицы, как category_types, имя которой содержит несколько слов, внешним ключом будет category_type_id.

Таблицы объединения, используемые в отношениях BelongsToMany между моделями, должны быть названы в честь таблиц моделей, к которым они будут присоединяться, в алфавитном порядке (яблоки_зебры, а не зебры_апплеты).

конвенции

2

Другие решения

Действительно глупо.

я не знаю но когда переименую email_orgs в emailorgs в базе данных и модели

это сработало.

я не знаю почему??

2

По вопросам рекламы [email protected]