如何在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'=>'first_name');
你需要数组??? name1 => 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中选择特定列的主要内容,如果未能解决你的问题,请参考以下文章