この非常に具体的な質問で申し訳ありませんが、私はこの問題を数回経験しました.私は操作さえしていません。誰かが以前に同じ問題を抱えていたのだろうか。
symfony 1.4 と doctrine を使用すると、関連しないテーブルのクエリからこのエラーが発生します
Column not found: 1054 Unknown column 'o.training_id' in 'field list'
私のschema.ymlには、このようなものがあります。
OhrmTraining:
connection: doctrine
tableName: training
columns:
id_training:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: true
name:
type: string(60)
fixed: false
unsigned: false
primary: false
notnull: true
autoincrement: false
TrainingDetail:
connection: doctrine
tableName: training_detail
columns:
id_training_detail:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: true
training:
type: integer(4)
fixed: false
unsigned: false
primary: false
notnull: true
autoincrement: false
relations:
OhrmTraining:
local: training
foreign: id_training
type: one
他のテーブルと関連しています 詳細
このような
TrainingDetail:
connection: doctrine
tableName: training_detail
columns:
id_training_deetail:
type: integer(4)
fixed: false
unsigned: false
primary: true
autoincrement: true
training:
type: integer(4)
fixed: false
unsigned: false
primary: false
notnull: true
autoincrement: false
relations:
Training:
local: training
foreign: id_training
type: one
これは正しいと思いますが、私のdoctrine/base/BaseTraining.classでは、最後に(トレーニング用に)このようなものがあります
public function setUp()
{
parent::setUp();
$this->hasMany('TrainingDetail', array(
'local' => 'id', <--- this should be the id_training_detail??
'foreign' => 'training_id')); <--- this should be training?
なぜ彼らがそのようになっているのか、またはそうあるべきなのかはわかりません... 誰か助けてくれませんか?
私はそれらを
public function setUp()
{
parent::setUp();
$this->hasMany('TrainingDetail', array(
'local' => 'id_training',
'foreign' => 'training'));
それでも、エラーが発生し、モデルをリメイクするとすべてがなくなります
DB から schema.yml ファイルを作成する簡単な方法はありませんか?
編集:例外をスローするクエリはこれです
$query = Doctrine_Query::create()
->from('Times a')
->where('a.employee_id = ?', $employeeId)
->orderBy('a.start_date ASC');
$results = $query->execute();
従業員のベースを確認しましたが、トレーニングとは関係がなく、トレーニングの詳細とは関係ありません...しかし、トレーニングとは直接関係ありません。モデルを10回再作成しましたが、それでも同じです