laravel 5.1では、次のようにしたい
$myTable = MyTable->select('firstField');
if ($somethingTrue) {
$myTable->select('secondField');
}
$myTable->get();
firstField と secondField の両方を選択する必要があります。
もちろん、上記のコードは機能しません。つまり、最終的には secondField のみが選択されます。
クエリ ビルダー クラスによって提供される、まさに私が望むことを実行できる関数はありますか?
ベストアンサー1
はい、使えますaddSelect()
すでにクエリ ビルダー インスタンスがあり、既存の選択句に列を追加する場合は、addSelect メソッドを使用できます。
$query = DB::table('users')->select('name');
$users = $query->addSelect('age')->get();
さらに、APIドキュメント(書面によるドキュメントとは対照的に) コア クラスで使用できる関数についてさらに詳しく説明することもできます。