我有一个用户模型和一个学生模型,我已经为它们建立了关系,但是当我尝试
$学生-
我得到这个错误
“正在尝试获取非对象的属性全名”
以下是我的用户模型代码:
<?php
namespace App;
use App\Assignment;
use App\Model\Quiz;
use App\Model\Course;
use App\Topic;
use App\Model\Guardian;
use App\Model\Student;
use App\Model\Teacher;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable implements MustVerifyEmail
{
use Notifiable, HasRoles, SoftDeletes;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'fullname',
'email',
'avatar',
'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public function setPasswordAttribute($password)
{
$this->attributes['password'] = bcrypt($password);
}
public function guardian()
{
return $this->belongsTo(Guardian::class);
}
public function teacher()
{
return $this->belongsTo(Teacher::class);
}
public function student()
{
return $this->belongsTo(Student::class);
}
public function assignments()
{
return $this->hasMany(Assignment::class);
}
public function quizzes()
{
return $this->hasMany(Quiz::class);
}
public function courses()
{
return $this->hasMany(Course::class);
}
public function topics()
{
return $this->hasMany(Topic::class);
}
public function levels()
{
return $this->hasMany(Level::class);
}
}
这是我的学生模型代码
<?php
namespace App\Model;
use App\User;
use App\Model\Course;
use App\Assignment;
use App\Level;
use App\Model\DoneQuiz;
use App\Model\Teacher;
use App\Model\Guardian;
use Illuminate\Database\Eloquent\Model;
class Student extends Model
{
protected $fillable = ['user_id', 'level_id', 'guardian_id'];
public function user()
{
return $this->belongsTo(User::class);
}
public function courses()
{
return $this->hasMany(Course::class);
}
public function assignments()
{
return $this->hasMany(Assignment::class);
}
public function level()
{
return $this->hasOne(Level::class);
}
public function teachers()
{
return $this->hasMany(Teacher::class);
}
public function guardian()
{
return $this->hasOne(Guardian::class);
}
public function donequizzes()
{
return $this->hasMany(DoneQuiz::class);
}
}
即使我试图利用这种关系来获取数据,比如
“学生id”=
我得到这个错误
“对未定义方法Illumb\Database\Eloquent\Relations\BelongsTo::id()的BadMethodCallException调用”
当你使用学生()时,它返回一个查询生成器
要么改成简单的学生
'student_id' => auth()->user()->student->id
或
'student_id' => auth()->user()->student()->first()->id
我有适当的基于ORM的post和tags表。在数据透视表上分配给post的标记。发帖- 这是我的数据库: 我想检索所有有特殊标签名称的帖子。
我有一个表事务与复合主键id,Nom,日期和一个表Cour与Nom作为主键和一个事务有关一个Cour。 我怎样才能得到一个有口才关系的特定交易的课程?
我怎么能把这条线移到右边。我正在使用智能的想法,我使用了导致问题的自定义字体。
有什么方法可以简化这段代码吗?我正好有一个白色的一块,想要得到它的位置 代码: 瓦片类: 件类:
我试图把Flink和德鲁伊联系起来。 然而,我不知道如何正确地做到这一点。 在此Flink留档中,"bootstrap.servers"设置为"localhost:9092"。 这是否意味着我可以使用Apache Kafka摄取直接连接,因为下面设置了示例主管规范? 除了Flink,我还需要管理Kafka吗?或者我应该做其他事情来连接Flink和德鲁伊?