为了账号安全,请及时绑定邮箱和手机立即绑定

无法对 BLOB 和 CLOB 列进行任何查询 (DB2/PHP/Laravel/Eloquent)

无法对 BLOB 和 CLOB 列进行任何查询 (DB2/PHP/Laravel/Eloquent)

PHP
蝴蝶刀刀 2021-06-29 13:27:11
我目前正在开发一个简单的 CRUD 应用程序,并且遇到了 BLOB 和 CLOB 的问题。我无法对这种类型的任何列进行任何查询。我也不允许丢弃或更改这些。我得到的错误是 SQL 错误:[IBM][CLI 驱动程序] CLI0005W 选项值已更改. 根据我的理解,我收到此错误是因为驱动程序不明白 blob 是什么。我试过将它转换为 varchar 并且它在没有 eloquent 的情况下工作,但我的公司希望使用 eloquent 完成(因为我已经有一个与 MySQL 一起工作的 CRUD API,但它不包含 BLOB 或 CLOB)。这种方法非常有效:$conn = odbc_connect('example','username','password');        $query = "SELECT cast(BLOB_COLUMN as varchar(32000)) FROM TABLE fetch first 1 row only";        $stmt = odbc_prepare($conn , $query);        odbc_execute($stmt);        while($driver = odbc_fetch_array($stmt)){            $drivers[] = $driver;        }            return $drivers;    }但我不能用雄辩的方式实现这样的东西。我试过这样铸造:模型protected $casts = [        'BLOB_COLUMN' => 'string',        'CLOB_COLUMN' => 'string',    ];控制器(所有记录)public function allRecords() {        $data = Model::all();        return $data;    }路线:Route::get('model', 'ModelController@allRecords');任何帮助将不胜感激。旁注:我希望我已经详细解释了这一点,因为我在大学里只编程了不到一年,并且在不到一个月前开始使用 PHP/Laravel。
查看完整描述

1 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

您可以简单地在 Laravel 中使用您的 sql 查询


Model::select(DB::raw('cast(BLOB_COLUMN as varchar(32000))'))

       ->first();


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 247 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信