Как извлечь фактические значения из вызова базы данных для последующей обработки? - PullRequest
0 голосов
/ 29 апреля 2019

Извиняюсь за столь расплывчатое название вопроса, но я не знаю правильной терминологии, чтобы использовать для проблемы, с которой я столкнулся.

Я разрабатываю функцию поиска, в рамках которой производители вводят имяих урожай, база данных проверяется на наличие идентификатора для этого урожая, а второй вызов базы данных возвращает информационные листы, связанные с этим идентификатором урожая.

Обычно возвращается только один идентификатор, но для некоторых культур (например,азиатская груша, европейская груша), если производитель введет «груша», будут возвращены два идентификатора.

Мой код возвращает требуемые идентификаторы, но у меня возникают проблемы с «извлечением» фактических значений идентификаторов изчто возвращается (я не знаю его имени - оно выглядит как объекты в массиве).

Итак, мой код

$cropID = Crop::where('name','like','%'.$search.'%')
    ->select('id')
    ->get();

возвращает, для $ search = "pear",

$cropID = [{"id":4},{"id":112}]

Я хочу получить значения идентификаторов в структуре, которую я могу циклически просмотреть для поиска информационных листов, связанных с каждым идентификатором, например.

foreach($obj as $key => $value)
{
  ... do stuff with $value
}

Что мне нужно сделатьс $ cropID, чтобы сгладить путь к суследовательно, заставить цикл foreach (если это правильный подход) работать?

Спасибо, Том.

1 Ответ

1 голос
/ 30 апреля 2019
$crops = Crop::where('name','like','%'.$search.'%')
    ->select('id')
    ->get();

foreach($crops as $crop) {
  echo $crop->id;
  // Factsheet::where('crop_id', $crop->id)->get();
}

Или вы можете вырвать его

$cropIds = $crops->pluck('id');
foreach($cropIds as $id) {
  echo $id;
  // Factsheet::where('crop_id', $id)->get();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...