AM NOUVELLE À LARAVEL, j'ai des problèmes d'essayer de connecter ces tableaux: plans code>,
utilisateurs code> et
prêts code> même après avoir lu les docs, J'ai un
plans code> des tables qui ont tous mes plans, puis j'ai un
utilisateurs code> table et
prêts code> table, mon
prêts table a un
user_id code> et a
plan_id code>, tout ce que je veux, c'est de tirer les enregistrements de
plans code> et des utilisateurs
Code> dans le code> Modèle CODE> MODÈLEZ. P>
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Loan extends Model
{
protected $table = 'loans';
//
protected $fillable = [
'id',
'user_id',
'loanplan_id',
'payment_made',
'status',
];
public function user()
{
return $this->belongsTo('App\User');
}
public function loanplan()
{
return $this->belongsTo('App\Loanplan');
}
}
4 Réponses :
Tout d'abord, vous devez vérifier si le modèle interroge déjà de la table que vous avez créée auparavant. Laravel accédera automatiquement à la base de table sur votre nom de classe. P>
Notez que nous n'avons pas dit éloquent quelle table à utiliser pour notre
Modèle de vol code>. Par convention, la "case Snake", nom pluriel de la classe sera utilisée comme nom de table, sauf si un autre nom est explicitement spécifié. Donc, dans ce cas, Eloquent assumera le vol code> Modèle stocke des enregistrements dans les vols
code> Table. P> blockQuote>
Vous pouvez le lire depuis Cette documentation P>
seconde, assurez-vous d'appeler la bonne classe. De
prêtsplan.php code> dans la méthode code> code> Il n'utilise pas en majuscule pour la première lettre. P>
Troisième, essayez d'indiquer la clé étrangère em> et clé primaire em>. Vous pouvez également vérifier comment le faire dans la documentation. P>
même fichier, p> De plus, le nom de la classe devrait avoir un prêt avec capital l. P> prêtsplan.php code> manque le
protégé $ Table = "plans" code> variable
public function loan()
{
return $this->...('App\Loan');
}
Je pense que le problème est avec la personnalisation du nom de la table code> code> dans le modèle code> LoanPlan code>.
En fonction de vos descriptions, vous avez besoin de la configuration de suivi: p>
utilisateur code> peut accéder à un ou plusieurs code> s
utilisateurs code> 1 --- m plans code> p>
blockQuote> li>
- A
emprunt code> appartient à un Charlevetplan code> // Ici, j'utilise Loanplan code> car c'est votre nom de modèle.
prêts code> 1 --- m plans code> p>
blockQuote> li>
ul> Donc, cela signifie: p>
user.php strong> p> xxx pré> prêt.php strong> p> xxx pré> charretplan.php strong> p> xxx pré> donc avec cela, tu peux Accédez aux informations de votre loancontroller.php code>: p> loancontroller.php strong> p> public function myCoolMethod()
{
// get a user
$user = User::first();
// access his/her loans
$loans = user->loans;
//
// get a loan plan
$plan = Loanplan::first();
// access its loans
$loans = plan->loans;
//
}
Comment puis-je le transmettre à la vue afin que je puisse faire boucle, car je veux obtenir l'historique des prêts utilisateur .. merci
Tout d'abord, ajoutez Modèle de prêt strong> P> p> P " protégé $ TABLE = 'Plans'; code> à votre modèle de niveau de prêt puisque le nom de la table est "Plans"
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function Loan()
{
return $this->hasOne('App\Loan'); // or hasMany
}
}
?>