0
我有一個使用Codeigniter/Datamapper的應用程序。有一張表爲醫生,併爲專業表和模型建立了一個多對多的關係。Codeigniter/Datamapper不能正確生成關係查詢
我注意到,試圖通過專業查詢醫生導致它只是查詢所有的醫生。有沒有人有過這個問題?下面是我使用的代碼:
$s = new Specialty();
$s->where('id',$id)->get(); //thought maybe get_by_id($id) was causing the issue, it wasnt...
$this->out['query'] = $s->doctor->order_by('last_name','asc')->get_sql();
$docs = $s->doctor->order_by('id')->get_iterated();
的$這個 - >出[「查詢」]用下面的SQL查詢響應:
"SELECT * FROM (`doctors`) ORDER BY `doctors`.`last_name` asc"
另一個奇怪的是結果不是活得回到由last_name排序,但我假設它是如何將數組傳遞給json_encode函數。
古怪的是,這似乎是一個問題get_iterated()。這很糟糕,因爲其中一些記錄集有超過1k條目。 –
你可以試試$ s-> doctor-> where('id',$ id);而不是$ s-> where('id,$ id) - > get(); ? –
$ s-> doctor->其中('id',$ id)會根據專業ID查找一位醫生,而我需要根據專業ID查找一組醫生。我在這一點上的假設是,get_iterated()方法在多對多關係調用中無法正常工作。 –