Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
167 views
in Technique[技术] by (71.8m points)

php - Accessing a foreign key on Laravel

I have two tables (User and Role) that are related through an foreign key in User (role field).

I made the relations on the models and trying to access the Role name from inside a blade file.

User model

class User extends Authenticatable
{
    protected $table = 'users';

    protected $fillable = ['name', 'password', 'role'];


    public function roles()
    {
        return $this->belongsTo('AppModelsRole', 'role');
    }

}

Role Model

class Role extends Model
{
    protected $table = 'roles';

    protected $fillable = 'name';

    public function user()
    {
        return $this->hasOne('AppModelsUsers', 'role');
    }

}

Inside the index function on my User controller I try to call

'users' => User::with('roles')->get()

but I get this error:

ErrorException thrown with message "count(): Parameter must be an array or an object that implements Countable"

What could be the reason?

Also, if I do

'users' => DB::table('users')->get()

I get the users but can't get the name of the role inside the view.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...