【发布时间】:2019-05-06 23:44:55
【问题描述】:
作为特定作物搜索例程的一部分,我对同一个数据库表进行两次调用,合并结果并将它们发送到下一行。第一个调用查找与搜索到的作物相关的数据(例如“beans”)。第二个调用查找与该作物的作物组相关的数据(例如豆类)。
第一次调用返回的数据将比第二次调用返回的数据更相关/更集中。我想向反映这一点的各个数据集添加一个标识符,以便我随后可以根据我的 Vue 组件中的相关性对数据进行排序/呈现。
以下代码从数据库中提取特定作物的信息;在我“array_merge”它与从crop-group sql调用返回的数据之前,如何向$factsheets中的每一行添加/插入/附加一个新变量(例如“relevance”= 1)?
(为了简单起见,我没有包含根据用户输入的作物名称确定crops.id 值的代码。)
public function getFactsheets($cropId){
$factsheets = Factsheet::whereIn('crop_id',$cropId)
->join("crop_factsheet as cf","factsheets.id","=","cf.factsheet_id")
->join("crops as crops","crops.id","=","cf.crop_id")
->select('crops.name','title', 'factsheets.id', 'shortdesc', 'shortimg', 'factsheets.slug')
->orderBy('crops.name')
->get()->toArray();
return $factsheets;
}
谢谢,汤姆。
【问题讨论】:
标签: php arrays laravel eloquent