Ho un telefono_models, phone_problems e una tabella pivot phone_model_phone_problem. La tabella pivot ha un "prezzo" di colonna in più.ottenere il valore di una colonna di tabella pivot aggiuntiva laravel
PhoneModel:
class PhoneModel extends \Eloquent
{
public function problems()
{
return $this->belongsToMany('RL\Phones\Entities\PhoneProblem')->withPivot('price');
}
}
PhoneProblem:
class PhoneProblem extends \Eloquent
{
public function models()
{
return $this->belongsToMany('PhoneModel')->withPivot('price');
}
}
Quello che sto cercando di fare è ottenere il prezzo di un telefono specifico con un problema specifico.
Ecco come ce l'ho, ma ora mi sento come laravel ha costruito in funzione Eloquente non riesco a trovare per fare questo in un modo molto più semplice:
$model = $this->phoneService->getModelFromSlug($model_slug);
$problem = $this->phoneService->getProblemFromSlug($problem_slug);
Tutto questo non fa selezionare la specifica modello e problema dalla loro lumaca.
allora quello che faccio è con queste credenziali che ricevo il prezzo in questo modo:
$row = DB::table('phone_model_phone_problem')
->where('phone_model_id', '=', $model->id)
->where('phone_problem', '=', $problem->id)
->first();
così ora posso ottenere il prezzo in questo modo $row->price
ma mi sento come se ci deve essere un molto più facile e più ' Il modo di Laravel per farlo.
ho già impostato il rapporto che sto cercando di recuperarlo – Rodrigo
Ho aggiornato la mia domanda per voi a vedere le mie relazioni – Rodrigo
@ user3666882 Grazie, I' Ho aggiornato anche la mia risposta – lukasgeiter