В моей базе данных у меня есть размеры и категория, они имеют таблицу, чтобы соответствовать их вместе называют category_sizes, который выглядит следующим образом:Laravel возвращается только один столбец
Я хочу, чтобы получить массив со всеми size_id
где category_id = 4
так что я сделал:
$catSizes = CategorySize::where('category_id', 4)->value('size_id');
return($catSizes);
Но он возвращает только один результат. Как я могу получить массив со всеми size_ids, поэтому я могу использовать его позже в инструкции where_in
.
Я также попытался сорвать, но это дает также только один ряд.
$catSizes = CategorySize::where('category_id', 4)->pluck('size_id');
dd($catSizes);
Моя CategoySize модель
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class CategorySize extends Model
{
protected $table = 'category_sizes';
}
благодаря его работе;) –
Просто для моего интереса: Есть ли причина почему вы предложили «DB :: table» вместо использования модели? –
@Peh, я думаю, что здесь также можно использовать Eloquent ('-> pivot' и -'> withPivot'): https://laravel.com/docs/5.1/eloquent-relationships#many-to-many - но я не смог опубликовать рабочий код без проверки (у меня нет достаточно времени для этого сейчас, извините). –