Почему он возвращает мне рецепты как пустой массив?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему он возвращает мне рецепты как пустой массив?

Сообщение Anonymous »

Я создаю приложение на Laravel и Vue, и когда я помещаю ингредиенты в панель поиска, оно возвращает мне пустой массив рецептов, хотя я намеренно сделал так, чтобы оно возвращало мне один. Это мой SearchController.php

Код: Выделить всё

public function search(Request $request)
{
$query = $request->query('query');
$ingredients = explode(",", $query);
$ingredients = array_map('strtolower', $ingredients);
$ingredients = array_map('trim', $ingredients);
$ingredientIds = Ingredient::whereIn('name', $ingredients)->pluck('id');
$recipeIds = RecipeIngredient::whereIn('ingredient_id', $ingredientIds)->pluck('recipe_id');
$recipes = Recipe::whereIn('id', $recipeIds)->get();

return response()->json([
'ingredients' => $ingredients,
'recipes' => $recipes,

]);
}
Recipe.php

Код: Выделить всё

public function ingredients()
{
return $this->belongsToMany(Ingredient::class, 'recipes_ingredients', 'recipe_id', 'ingredient_id');
}

public function recipeIngredients()
{
return $this->hasMany(RecipeIngredient::class);
}
Ingredient.php

Код: Выделить всё

protected $fillable = ['name'];

public function recipes()
{
return $this->belongsToMany(Recipe::class, 'recipes_ingredients', 'ingredient_id', 'recipe_id');
}

public function ingredientRecipes()
{
return $this->hasMany(RecipeIngredient::class);
}
RecipeIngredient.php

Код: Выделить всё

protected $table = 'recipes_ingredients';

public $timestamps = false;

public function recipe()
{
return $this->belongsTo(Recipe::class);
}

public function ingredient()
{
return $this->belongsTo(Ingredient::class);
}
Он должен дать мне все рецепты с этим ингредиентом, но я ничего не получаю. Я дал ChatGPT возможность отладить его, и это увеличило количество ошибок в 10 раз. Если вам нужно, я предоставлю дополнительный код

Подробнее здесь: https://stackoverflow.com/questions/793 ... mpty-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»