sql-server - 无法在 Laravel 中使用 Eloquent 和 SQL Server 数据库进行选择
问题描述
Greatings,我是 laravel 的新手。今天我用 Laravel 和 SQL Server 为数据库做了一个项目。我可以连接到该数据库,并且可以使用用户迁移进行默认迁移。但是当我选择表用户并将其返回到 json 时,结果是空白的。这是我的选择
{
//
$dataUser = User::all();
return response()->json($dataUser);
}
结果在浏览器上只有 [],我也使用 Postman,但结果是一样的。我在数据库上有 2 条记录。
然后不想用不同的表,我使用现有的表,表名是 Purchases,表有大约 100 条记录。这就是我的桌子模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Purchases extends Model
{
protected $table = 'Purchases';
protected $primaryKey = 'PurchaseID';
protected $guarded = ['PurchaseID'];
const CREATED_AT = 'CreatedTime';
const UPDATED_AT = 'LastModifiedTime';
}
?>
我在 purchaseController 中使用相同的代码
namespace App\Http\Controllers;
use App\Purchases;
public function index()
{
//
$dataPurchase = Purchases::all();
return response()->json($dataPurchase);
}
但是当我加载像这样返回错误的浏览器时
Illuminate\Database\QueryException
SQLSTATE[42S02]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid object name 'purchases'. (SQL: select * from [purchases])
在我的 SSMS 中,我的表是 [dbo].[purchases],迁移是 [dbo].[users]
请帮我解决这个问题。谢谢
编辑:我认为我的连接有问题,因为我只在 apache 上注册了 php PDO 驱动程序,并更改了 laravel 配置。我可以使用迁移,但是当我使用 faker 时,tinker 上显示的数据不会保存在 DB 用户上
解决方案
您的代码在我的项目中完美运行。检查 env 或 databse.php 中的数据库连接
推荐阅读
- django - 如何在 Django Cryspy 表单中添加表格?
- mongoose - 无法仅从 NestJS 中的 TestingModule 连接到 MongoDB
- linux - 打印到 gedit whit xdotool
- root - 如何使用 Nix 包管理器禁用“私有挂载命名空间”(沙盒)?
- azure - Terraform - Azure IPgroups 标签无故更新
- java - 算法的实验分析 - 如何证明图形是 O(nlogn)?
- json - 无法读取 React + Phoenix 框架中未定义的属性“地图”
- javascript - 如何检查字符串是否仅包含js中的某些字符?
- symfony - 反序列化前的 API 平台验证
- python - 如果在使用 Dash 绘制条形图时单月数据可用,则月份名称在 X 轴上显示不正确