Laravel 5.8-尝试通过从数据库中提取信息来构建模型

时间:2019-07-05 13:54:47

标签: php laravel eloquent model

所以我有一个查询字符串保存在数据库中(过滤器表)

enter image description here

因此,当我使用如下所示的对应模型将其放入另一个模型(设备表)的where()时,我正尝试在收到错误的情况下构建查询,

enter image description here

这主要是我得到的

如果我从数据库中复制纯文本并将其直接放到where()上可以正常工作,那么我认为在将其拉出时一定会有些不愉快吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

第一期:

存储在数据库中的数据看起来不正确。

[category', '=', 'Server]应该是['category', '=', 'Server']

第二个问题:

Model::where(['category', '=', 'Server'])->get()是不正确的语法。您将为此抛出一个SQLSTATE 42S22。

您需要的是:

Model::where('category', '=' ,'Server')->get();

为此,您可能只需要拆分字符串(可能是从数据库返回字符串),然后使用拆分的部分填充where()

$arr = explode(', ', $AVMatchData);
$notDetected = Device::where($arr[0], $arr[1], $arr[2])->first();

第三(尽管很挑剔)问题:

模型应该有资本,由PSR决定。