php - 即使我在 laravel api 中获取不同的内容,也会从数据库中获取错误的数据

标签 php mysql laravel api error-handling

大家好,我正在开发一个 Laravel 项目,用于制作 api 以 json 格式传递数据库值,但问题是我在这个表中有一个用户表 2 ids 1 是主键,第二个是我想要获取的业务 _id根据business_id获取数据,但它是通过id获取数据,请帮我解决这个问题。

这是我的模型代码

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class user extends Model
{
    protected $table = 'business';

}

这是我的 Controller 代码

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\user;

class GetController extends Controller
{
    public function databybusinessid($business _id){
    $users = new user();
    $users = user::find($business _id);
    return response()->json($users);
}
}

非常感谢

最佳答案

您正在使用user::find($business _id)

find() 方法将自动按主键搜索,但您的模型中没有定义主键,并且 Eloquent 无法决定从表中选择哪一个。因此,您应该通过添加以下行在模型中显式设置主键。

class user extends Model
{
    protected $table = 'business';

    protected $primaryKey = 'business_id';
}

如果有疑问,您还可以使用 where 按特定列获取数据库记录

 $users = user::where('business_id', '=', $business _id)->get()

关于 Eloquent ORM 的 Laravel 文档 https://laravel.com/docs/5.8/eloquent

关于php - 即使我在 laravel api 中获取不同的内容,也会从数据库中获取错误的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60276310/

相关文章:

c# - 不支持 EF6 嵌套事务

php - Cron 作业将 MySql 数据从一列复制到另一列(如果不存在)

javascript - 如何将 Laravel 环境数据传递给 Vue 组件

mysql - Laravel 具有整数值的多个连接条件

java - GCM 消息已成功发送,但智能手机 android 未收到

php - 在 PHP mail() 中使用 CSS

Mysql select查询查找一定范围内的值

Laravel - 如何保护/公共(public)/文件/上传/免受客户的网络访问

php - shmop_open 的关键参数是什么?

php - .htaccess 只出现 html 而没有 CSS 或 PHP