Ben bir Kimyasal veritabanı üzerinde çalışıyorum ve giderken Eloquent öğreniyorum. Bu, Laravali'nin kendisi değil, Slim Framework'te. Bu iş parçacığı bana neye ihtiyacım olduğu konusunda yardımcı oldu, ancak şimdi garip bir şey görüyorum ve pek çok insanın benzer soruları sormasına rağmen bir çözüm bulamadım.Eloquent istekli yüklü sorgu ile birleştiğinde tam çalışma değil
Ben 2 dışarı yorumladı Katıldı
$chemicals = $app->Chemical->with(array('Company', 'Room', 'Location', 'Measurement'))
->join('company', 'company_id', '=', 'company.id')
//->join('room', 'room_id', '=', 'room.id')
//->join('location', 'location_id', '=', "location.id")
->where('company', '=', 'ROUSSEL')
->get();
Bildirimi var. Bu 2 alan, tablomda düzgün görüntüleniyor, ancak şirket boş. Hangi birleşimin gösterileceğini değiştirirsem, takım elbise takip eder.
Eğer herhangi bir birleşimi kullanmazsam, kimyasal alanlardan biriyle iyi bir şekilde yapabilirim. Benim sorum, bir katılımın neden bu özel ifadeyi kırdığı gibi görünüyor ve bunu düzeltmenin bir yolu var mı? Ben bir sahne ile birleştirmek bir şey yapmanın bir şey olduğunu hissediyorum hissediyorum, ama ben herhangi bir özellik bulamadık .. Teşekkür,
Kısıtlamadan önce de. dışarı yorumladı beni nereye kimyasallar tablosu doğrudur şirket adı verilen bir sütun, yok mesajı veriyor olmadan yukarıda kullanma
$chemicals = $app->Chemical->with(
array(
'Company',
'Room',
'Measurement',
'Location' => function ($query) {
$query->where('location', '=', 'FLAMCAB');
}
))
//->where('company', '=', 'FISHER')
->get();
. bunu kullanarak değil , ben sonuç almak yapın:
bunu yerleri tabloya filtre yapar görebileceğiniz gibiama bu ben budur, yani tarafından kimyasalları filtre olmayan tek bunu yapar yapmaya çalışıyorum. Eğer bunlarla ilgili yerler dayalı Kimyasalları filtre uygulamak istiyorsanız
"join" kullanmanız gerekiyor mu? [İlişkiler] 'e (https://laravel.com/docs/5.1/eloquent-relationships) henüz baktınız mı? – alexw
Merhaba @alexw, Bu özel sorgu için yapmam gerektiğini düşündüm. Bir Kimyasalın ait olduğu ilişkiyi bu 4 nesnenin her birine ve ben de bir Kimyasal'a aittir. Orada yapmaya çalıştığım şeyi yapmak için kullanabileceğim bir şey var mı? – danny2327
Demek istediğim: (ve son sorusundan şemanızı hatırlarsam), 'join' cümleleri gereksiz görünüyor. Bana öyle geliyor ki, yaptıkları tüm kimyasallar için ilgili şirketi, odayı ve yeri kapıyor. Ancak, zaten 'ait olan' ilişkilere sahipseniz, 'with' maddesinin, her bir kimyasal için ilişkili şirket, oda ve konum elde etmek için yeterli olması gerekir. – alexw