如何在laravel中选择特定列

Posted

技术标签:

【中文标题】如何在laravel中选择特定列【英文标题】:how to select specific columns in laravel 【发布时间】:2018-01-28 10:55:30 【问题描述】:

我想显示“users”表中两个指定列“first_name”和“pic”的所有值。我正在尝试“采摘”,但它在回显时显示为 json 格式。但我需要展示它,一些东西 - 'John pic' 所有人。请有人帮助我。这是我在下面的“index.blade.php”中的示例代码-

<?php
$fName = DB::table('users')->pluck('first_name','pic');

echo $fName;
?>

【问题讨论】:

echo $fName; 转换为 json。尝试dd($fName); 查看收藏。 pluck 方法生成数组键值对,在生成选择选项时很有用.. 在这种情况下 array('pic'=&gt;'first_name'); 你需要数组??? name1 =&gt; picture1 像这样 【参考方案1】:

使用你可以简单地使用 select as

$fName = DB::table('users')->select('first_name','pic')->get();

由于从视图直接访问数据库不是首选,您可以在控制器函数中编写此查询,

public function getData()
    $fName = DB::table('users')->select('first_name','pic')->get();
    return view('index',compact('fName'));

现在,在视图文件中迭代循环,

@foreach($fName as $name)
    // access data like $name->first_name and $name->pic
@endforeach

希望你能理解。

【讨论】:

在视图文件中迭代循环时出现错误 我正在使用哨兵包 您的控制器代码有错误,因此请检查并查看网络中的错误预览 现在只显示图片名称,不显示图片 你能添加你写的代码来显示你的图像吗?【参考方案2】:

您可以使用此代码检索特定列值:

//Eloquent: Get specific columns (not all the row). Pluck returns an array.
\App\Model::where('id', 1)->pluck('first_name','pic');
// If you only want to get the result value:
\App\Model::where('id', 1)->value('first_name');

【讨论】:

【参考方案3】:

您可以使用get() 方法从模型中获取特定列,例如

PostModel::where('post_status', 'publish')->get(['title', 'content', 'slug', 'image_url'])

将列列表传递给get([...]),它将检索具有指定列的模态数据。

【讨论】:

以上是关于如何在laravel中选择特定列的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 上获取具有自定义列名的特定列

如何计算 Laravel 仪表板上的特定列?

从第一个表中选择特定列,在 Laravel 中进行预加载

Laravel 在急切加载时使用 Eloquent 选择特定列

如何过滤数组以获取laravel中两个不同对象中的特定列

如何在 laravel 查询生成器中为 sql 选择列添加别名?