将Spesific CONCAT MYSQL转换为PDO Laravel

时间:2018-09-17 18:11:08

标签: mysql laravel

我无法将mysql转换为PDO查询laravel

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

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

我需要这样的结果 https://i.stack.imgur.com/0Olub.png

软件版本: 10.1.35-MariaDB-cll-lve Laravel Framework 5.5.42

更新: 这是我来自@Tschitsch先生的新脚本更新建议

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

结果如下: https://i.stack.imgur.com/zlOFs.png

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

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

$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"