私はデータベースからデータを取得してそれらをhtml選択タグにバインドしようとしています。それらをバインドするには、FORMのために、配列に表示するフィールド(key => value)を取得するために、pluckを使用する必要があります。 :選択する。通常のpluckはすべての結果を取得しますが、個別に使用したいと思います。私のモデルは部屋で、次のようになります。
class Room extends Eloquent
{
public $timestamps = false;
protected $casts = [
'price' => 'float',
'floor' => 'int',
'size' => 'float'
];
protected $fillable = [
'capacity',
'description',
'price',
'floor',
'size',
'type',
'photo_name'
];
}
コントローラで使用している関数は次のようになります。
public function getRooms()
{
$roomType = Room::pluck('type','type');
$roomFloor = Room::pluck('floor','floor');
return view('roomgrid')->with('type',$roomType)->with('floor',$roomFloor);
}
そして、私のビューには、床を取得するための次のコードが含まれています。
{{FORM::select('floor', $floor, null,['class'=>'basic'])}}
このように、重複したフロアを取得します。異なるフロアを取得してそれらを引き抜く方法はありますか?前もって感謝します。
pluck()
で2つの引数を使用する必要はありません
単に行う:
$roomType = Room::groupBy('type')->pluck('type');
もちろんそれを配列に入れるために:
$roomType = Room::groupBy('type')->pluck('type')->toArray();
whereIn
句の結果を使用することもあります。
個別 トリックを実行できます:
Room::query()->distinct()->pluck('type');
これは次のSQLに変換されます。
SELECT DISTINCT type FROM rooms