使用Laravel 9,在我的应用程序中,头衔和工资之间存在一对多与员工模型的关系. 员工模型

public function titles(): HasMany
    {
        return $this->hasMany(Title::class, 'emp_id');
    }

    public function salaries(): HasMany
    {
        return $this->hasMany(Salary::class, 'emp_id');
    }

薪酬模式

 public function employee(): BelongsTo
    {
        return $this->belongsTo(Employee::class, 'emp_no');
    }

职称模型

public function employee(): BelongsTo
    {
        return $this->belongsTo(Employee::class, 'emp_no');
    }

现在我将使用EmployeeController getEmployee函数以及EmployeeController.php来获取所有数据

use Illuminate\Http\Request;
use App\Models\Employee;
use App\Models\Title;
use App\Models\Salary;


class EmployeeController extends Controller
{
    public function getEmployee() {
        return response()->json(Employee::with('title','salary')->get(), 200);
      
    }
}


我的api.php调用如下所示

Route::get('employees','App\Http\Controllers\EmployeeController@getEmployee');


但在错误消息之后也会显示结果 Illuminate\Database\Eloquent\RelationNotFoundException: Call to undefined relationship [title] on model [App\Models\Employee]. in file 个 那我怎么才能解决这个问题呢?

推荐答案

要解决这个问题,您必须更新EmployeeController中的getEmployee函数以指定正确的关系.根据您的代码,这些关系被命名为"职务"和"薪水".以下是正确的代码:

public function getEmployee() {
    return response()->json(Employee::with('titles', 'salaries')->get(), 200);
}

Php相关问答推荐

Laravel 10查询中的多个where子句

产品ACF值在WooCommerce我的账户订单的附加列中为空

使用WooCommerce本机产品短码时不考虑价格筛选(_SHORT CODE)

在Laravel中,如果我用session—put()存储一些信息,客户端浏览器是否可以使用这些信息?>

PHP-转义字符串内的双反斜杠

如何让PHP变量跨越多个脚本调用?

保存PHP条带以备将来使用,不显示用户界面

与会者在WooCommerce中按购物车项目数量自定义 checkout 字段

使用列入黑名单的单词和自定义业务逻辑的组合将特定的子字符串包装在HTML标记中

按与WooCommerce管理顺序列表中的特定字符串不匹配的特定元值筛选订单

首先在WooCommerce我的帐户订单页面中移动操作按钮

Woocommerce单一产品Ajax添加到带有自定义购物车项目数据的购物车

VS Code 对 PHP 上从父类继承的方法报告误报

产品页面自定义复选框可对 WooCommerce 购物车小计启用百分比折扣

安装 Herd 并返回 Valet 后为 502

Google Sheets PHP API - 添加多个选项卡时出现问题

在PHP WordPress插件中使用变量连接路径时的问题解决方法

使用 RSA 2048 公钥验证 RSA PKCS#1v1.5 SHA 256 签名

如何在字符串constant-string-NUMBER-*中获取 NUMBER?

使用 PHP ImageMagick 库将 pdf 文件的前 n 页转换为单个 png 图像文件