mysql - 将特定 CONCAT MYSQL 转换为 PDO Laravel

标签 mysql laravel

我在将 mysql 转换为 PDO 查询 laravel 时遇到问题

SELECT * FROM tablebarang WHERE 'baju koko yi 067 merah' LIKE CONCAT('%',sku,'%') LIMIT 1

你能帮我将它转换为 PDO 查询 laravel 吗?如果您能帮助我,我将不胜感激

我需要这样的结果 /image/0Olub.png

软件版本: 10.1.35-MariaDB-cl-live Laravel 框架 5.5.42

更新: 这是 @Tschitsch 先生提出的新脚本更新建议

$result = DB::table("tablebarang")
              ->whereRaw("? LIKE CONCAT('%',sku,'%')", $nameProduct)
              ->limit(1)
              ->first();
dd($result->sku);

结果是这样的: /image/zlOFs.png

此结果错误,因为 dd($result) 返回 null。 我确保表格和查询正确,如有其他建议,请。

最佳答案

这应该可以解决问题:

$res = DB::table("tablebarang")
         ->whereRaw("? LIKE CONCAT('%',sku,'%')", $nameProduct)
         ->limit(1)
         ->get();

这是我的数据库条目:

/*
mysql> select name from users;
+--------+
| name   |
+--------+
| 42 foo |
| bar 42 |
+--------+
2 rows in set (0.00 sec)
*/

这是我测试的代码

$nameProduct = "lorem IPSUM 42 FOO dolor sit amet";

$res = DB::table("users")
    ->whereRaw("? LIKE CONCAT('%',name,'%')", $nameProduct)
    ->limit(1)
    ->first();

dd($res->name); // output is "42 foo" 

关于mysql - 将特定 CONCAT MYSQL 转换为 PDO Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52373542/

相关文章:

php - Eloquent ORM 返回带有单个项目的集合

mysql - 这个查询是做什么的?

php - 我从 Utf-8 mysql 表中获取 Ansi 字符串而不是 Utf-8

php - Laravel 用户特定的缓存

php - withCount 与其他属性

Mysql 表关系

mysql - 使用 mysql 而不是 redis 来为访问多个实例的客户端共享上下文

PHP & MySQL 在同一页面上包含删除按钮

php - 数据库查询优化(MySql)

mysql - CRUD 应用程序中的 Laravel 关系