В рамках процедуры поиска определенного урожая я делаю два вызова в одну и ту же таблицу базы данных, объединяю результаты и отправляю их по линии. Первый вызов ищет данные, относящиеся к искомому урожаю (например, «бобы»). Второй вызов ищет данные, относящиеся к группе культур этой культуры (например, бобовые).
Данные, возвращаемые при первом вызове, будут более релевантными / сфокусированными, чем при втором вызове. Я хочу добавить идентификатор в соответствующие наборы данных, который отражает это, чтобы впоследствии я мог отсортировать / представить данные на основе релевантности в моем компоненте Vue.
Следующий код извлекает информацию о конкретной культуре из базы данных; Как я могу добавить / вставить / добавить новую переменную (например, "релевантность" = 1) к каждой строке в $ factheets, прежде чем я "array_merge" ее с данными, возвращаемыми из вызова sql группы урожая?
(Ради упрощения я не включил код, который определяет значение crop.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;
}
Спасибо, Том.