ho tavola oggetto che contienePluck alcune righe di una tabella in laravel 4
id name
e linguaggi tabella che contiene
id subject_id
e divisione tavolo
id name
infine soggetto- tavolo divisorio (tabella pivot)
id subject_id division_id
ora esiste una relazione uno-a-uno tra la tabella degli argomenti e la tabella delle lingue e la relazione molti-a-molti tra la tabella degli oggetti e la tabella delle divisioni, ho bisogno di cogliere solo gli argomenti della tabella degli argomenti senza le lingue utilizzando la funzione di relazione
ora posso ottenere le lingue solo della tavola soggetto della funzione di rapporto Nel Divisione Modello come la seguente
public function langSubject()
{
return $this->belongsToMany('Subject' , 'subject_division','division_id','subject_id')
->join('lang_subject', 'lang_subject.subject_id' ,'=', 'subject.id')->get();
}
Ma fino ad ora non posso ottenere i soggetti solo senza le lingue
Qualche suggerimento?
La tua domanda non è chiara. È necessario essere più specifici su quale modello si sta tentando di accedere ai soggetti (senza alcun linguaggio correlato) attraverso. Se sto leggendo correttamente la tua domanda: stai cercando di trovare argomenti per i quali non esiste una relazione definita. Questo non è qualcosa per cui la funzione di relazione dovrebbe essere usata, poiché stai letteralmente cercando di risolvere il problema opposto per cui è stato progettato. –
in primo luogo, grazie signore Jim per un commento, guarda ho un tavolo che trasporta tutti i soggetti come (inglese, matematica, tedesco, scienza ....) I soggetti appartengono a molte divisioni in subject_division (mia tabella pivot) e esiste anche la tabella si chiama lang_table questa tabella ha relazione uno-a-uno con la tabella degli oggetti che significa che questa tabella sarà trasportata nelle lingue solo come (inglese, tedesco) Ora ho bisogno di strappare (matematica, scienza) solo dalla tabella degli argomenti senza (inglese, tedesco). –
Forse puoi usare whereIn e whereNotIn con una sottoquery (http://stackoverflow.com/questions/16815551/how-to-do-this-in-laravel-subquery-where-in). Quindi una query come SELECT * FROM division inner join subject on ... where subject.id not in (SELECT subject_id from languages) – Rickkwa