CakePHP ikinci tablodaki değerler denetlenirken $ veri findAll sorgu

3 Cevap php

Ben CakePHP'de DB sorgulamak ve $ veri şeyleri geri dönmek için nasıl CakePHP kelimler edilmiştir yalnızca $ veri sorgusu tablo [id] sahip ikinci bir tabloda eşleşen [sub_id]

Standart bir sorgu:

$data = $this->Table1->findAll(array("Table1.deleted" => "0"), null, "Table1.id DESC", 25, null, 1);

Ama ['tablo2'] sadece $ veri ['Tablo1'] ['id'] bulunduğunda $ veri içine koymak değerlere sahip olmak istiyorsanız ['sub_id']

Teşekkürler!

3 Cevap

Eğer düzgün ilişkiler kurulumu varsa otomatik olarak yapmalıdır. Table1 ve Table2 için Model ilişki kurulum yapıştırabilirsiniz?

Supernovah -

Benim için bir şey açıklamak edin: Eğer table1.id table2.sub_id bulunduğunda sadece $ veri içine koymak değerlere sahip olmasını istediğiniz yazın. Eğer table2.sub_id tablo1 bağlantı, bir yabancı anahtar olduğu anlamına mı?

Ben Beau doğru olduğunu düşünüyorum - size modeller doğru bir habtm veya belongsTo, vb kullanarak, bağlantılı varsa, değişken, findAll otomatik tablo2 ilgili kayıtları çekmek gerekir.

Son bir uyarı modeli dernekler Model-> recursive değeriyle etkilenir olmasıdır. Eğer kod özyinelemeli özelliğinin değerini değiştirdiyseniz, bu modeli ilişkilerin belirli bir sorgu gitmek için izin verilir ne derin değiştirmek olacaktır.

HTH!

Modelde, ilişki dizi add in:

$hasMany = array(
.....
'required' => true
....
);

Bu bir iç oldukça katılmak bir sol daha sql katılmak yetinmek gerekir. Umarım bu yardımcı olur.