Ich bekomme diesen Fehler auf einem Feld, das existiert. Ich kann kein Feld aus der TutoringTypes-Tabelle anzeigen. Meine Verbindung ist falsch und ich kann nicht sehen, wo ich den Fehler gemacht habe, da ich glaube, dass ich die Konventionen befolgt habe. Die Dokumente sprechen jedoch über Plural Tabellennamen, aber geben singuläre Variablennamen als ein Beispiel?Ich kann nicht Felder aus einer Tabelle mit einem Unterstrich in CakePHP3 anzeigen
Spalte nicht gefunden: 1054 Unknown column 'tutoring_types.value' in 'field list'
$query3 = $this->Lessons->find()
->contain(['Tutors', 'TutoringTypes'])
->select(['lessons.id','lessons.lesson_date','tutors.id','tutors.first_name','tutors.last_name','lessons.tutoring_type_id',
'tutoring_types.value'])
->where(['Lessons.lesson_date >' => $a3,'Lessons.lesson_date <' => $a4,
'OR' => [['lessons.tutoring_type_id' => 2], ['lessons.tutoring_type_id' => 1]]
]);
Lessons Model
public function initialize(array $config)
{
parent::initialize($config);
$this->belongsTo('TutoringTypes', [
foreignKey' => 'tutoring_type_id'
]);
//////
SELECT
lessons.id AS `lessons__id`,
lessons.lesson_date AS `lessons__lesson_date`,
tutors.id AS `tutors__id`,
tutors.first_name AS `tutors__first_name`,
tutors.last_name AS `tutors__last_name`,
lessons.tutoring_type_id AS `lessons__tutoring_type_id`,
tutoring_types.value AS `tutoring_types__value`
FROM
lessons Lessons
LEFT JOIN tutors Tutors ON Tutors.id = (Lessons.tutor_id)
LEFT JOIN tutoring_types TutoringTypes ON TutoringTypes.id = (Lessons.tutoring_type_id)
WHERE
(
Lessons.lesson_date > '2015-05-30'
AND Lessons.lesson_date < '2016-06-01'
AND (
lessons.tutoring_type_id = '2'
OR lessons.tutoring_type_id = '1'
)
)
http://book.cakephp.org/3.0/en/orm/retrieving-data-and-resultsets.html http://book.cakephp.org/3.0/en/intro/conventions.html
Sie haben Recht, und ich habe über Groß-und Kleinschreibung Typen verwirrt. Ich denke, die Dokumente könnten dies deutlicher machen, da Modelle mit Kleinbuchstaben in Abfragen nicht funktionieren sollten. Trotzdem danke. – ajt