PhpStorm 说找不到方法
PhpStorm says find method not found
在laravel 8我做了一个模型app/Models/Role。php
class Role extends Model
{
use HasFactory;
public function users(): BelongsToMany
{
return $this->belongsToMany(User::class);
}
}
在routes/web.php我做了路线
Route::get('/role/{id}/user', function ($id) {
$users = Role::find($id)->users()->get();
foreach ($users as $user) {
echo $user;
}
});
PhpStorm 显示错误消息“在 App\Models\Role 中找不到方法 'find'”。请帮我解决这个问题。谢谢
它仅 PhpStorm
显示 erorr.Ide 无法识别 methods.If 您调用该路由然后获得所需的输出。
解决
Method 'find' not found in \App\Models\Role
只需调用query()
方法
$users = Role::query()->find($id)->users()->get();
query()
returns \Illuminate\Database\Eloquent\Builder
对于 PhpStorm 中的模型,这应该是最终答案:
在您的模型中使用 @mixin \Eloquent
可以解决所有令人头疼的问题。
在laravel 8我做了一个模型app/Models/Role。php
class Role extends Model
{
use HasFactory;
public function users(): BelongsToMany
{
return $this->belongsToMany(User::class);
}
}
在routes/web.php我做了路线
Route::get('/role/{id}/user', function ($id) {
$users = Role::find($id)->users()->get();
foreach ($users as $user) {
echo $user;
}
});
PhpStorm 显示错误消息“在 App\Models\Role 中找不到方法 'find'”。请帮我解决这个问题。谢谢
它仅 PhpStorm
显示 erorr.Ide 无法识别 methods.If 您调用该路由然后获得所需的输出。
解决
Method 'find' not found in \App\Models\Role
只需调用query()
方法
$users = Role::query()->find($id)->users()->get();
query()
returns \Illuminate\Database\Eloquent\Builder
对于 PhpStorm 中的模型,这应该是最终答案:
在您的模型中使用 @mixin \Eloquent
可以解决所有令人头疼的问题。