php - 如何根据数组从mysql数据库获取数据

标签 php mysql laravel

所以我有一个名为“paint”的表,其数据如下

id            name               allow_on
------------------------------------------
1             Avian           Wall|Roof|Wood
2             Avitex          Wall|Roof|Iron
3             Nippon          Floor|Iron
4             Some            Plastic|Cloth|other

以及如何根据 allow_on 列获取字段,例如“我想要可以在墙上使用的油漆”,到目前为止我的代码如下所示

$paints = Paint::get();
foreach($paints as $paint)
{
     $exp = explode("|", $paint->allow_on);
     foreach($exp as $pnt)
     {
         if(in_array($request->paint_name,$pnt))
         {
            var_dump($pnt)
         }
     }
}

我正在使用 Laravel 5.4,但我无法使其工作,有什么解决方案吗?提前致谢。

最佳答案

$want    = 'Wall';
$allowed = Paint::where('allow_on', 'like', '%'.$want.'%')->get();

foreach ($allowed as $allowedPaint) {
    echo $allowedPaint->name;
}

以上将为您提供所有可用于墙壁的油漆。如果您只需要检索油漆名称,您可以使用:

$allowed = Paint::where('allow_on', 'like', '%'.$want.'%')->pluck('name');
var_dump($allowed);

关于php - 如何根据数组从mysql数据库获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42649885/

相关文章:

php - Mysql 加入 1 行与多行 - 组 concat 或 php?

php - 这种mysql搜索有效吗,是否应该改变?对多个表/不同字段使用 UNION

按性能条件分组的 MySql 查询

node.js - 获取 https://mydomain.server:6001/socket.io/socket.io.js net::ERR_CONNECTION_REFUSED

php - 对指定列的 Eloquent 结果进行排序

php - 检测当前页面是否为Web根目录

javascript - 将 PHP 数组传递给 JavaScript 时出现问题

php - 如何返回对象数组的响应

php - 使用 AJAX 发送纯文本密码有多安全?

php - 从字符串中删除第一个和最后一个字符