如何从数据库中获取模型后调用函数?

时间:2017-12-25 20:08:55

标签: laravel

我正在使用此代码获取模型:

$user = \App\Http\Models\User::where('id', $id)->with('services')->get();

我希望将此函数称为例如

$user->getServiceList(); //this metod gets ALL services, not hasMany

但它会导致错误 方法getServiceList不存在

2 个答案:

答案 0 :(得分:2)

get()加载一个集合,因此你需要迭代它来获取对象:

$users = \App\Http\Models\User::where('id', $id)->with('services')->get();
foreach ($users as $user) {
    echo $user->getServiceList();
}

答案 1 :(得分:2)

如果您按用户ID搜索,则使用find方法要好得多:

 $user = \App\Http\Models\User::with('Service')->find($id);

 $user->getServiceList();