J'ai essayé de chercher l'erreur sur Internet, mais en vain. En dernier recours, je crée une question ici sur StackOverflow.LogicException avec le message '... doit renvoyer une instance de relation.'
J'ai deux simples modèles Eloquent mis en place:
1. Professeur (étend Authenticable) - depuis que je suis en utilisant MultiAuth pour le système.
2. GeneralNotice (étend Eloquent/modèle)
app\Teacher.php
public function generalNotices()
{
$this->hasMany('App\Modules\GeneralNotice');
}
app\Modules\GeneralNotice.php
public function teacher()
{
$this->belongsTo('App\Teacher');
}
C'est ma table de migration pour les avis généraux:
database/migrations/***_create_general_notices_table.php
Schema::create('general_notices', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->longtext('description')->nullable();
$table->string('attachment')->nullable();
$table->integer('teacher_id')->unsigned();
$table->foreign('teacher_id')->references('id')->on('teachers');
$table->date('dated_on')->default(now());
$table->timestamps();
});
J'ai également ensemencé la base de données avec un avis de l'échantillon, pour vérifier si cela fonctionne. Lorsque j'essaie d'accéder à l'une de ces relations, je rencontre une erreur.
$teacher = Teacher::find(1); $teacher->generalNotices;
LogicException avec le message 'App \ Maître :: generalNotices doit retourner une instance de relation.'
$notice = GeneralNotice::find(1); $notice->teacher;
LogicException avec le message 'App \ Modules \ GeneralNotice :: enseignant doit retourner une instance de relation.'
Si je tente d'accéder à la fonction de membre,
$teacher->generalNotices()
OU
$notice->teacher()
Je reçois null.
Aidez-nous s'il vous plaît.
Je me excuse pour mon stupidité. Ça marche! –
@AmruthPillai Je viens de faire exactement la même chose que vous, seulement en tombant sur cette réponse, je me suis soudain rendu compte! – Chud37