我是拉拉8的初学者,我想在larvel 8中运行sql查询,请帮助我如何制作?谢谢你
房桌
订票表
sql查询
SELECT id as roomID, name, (SELECT count(id) from bookings where room_id=roomID group by
room_id) as count FROM `rooms`;我想要这样的输出。
房间名为“会议室”、“办公室”、“单人房”
用户预订计数
1,0-1
控制器
public function index()
{
$room = Room::get();
$lebal=[];
$data=[];
foreach($room as $rooms){
$userBooking = Booking::where('room_id',$value->id)-
>get()->groupBy('room_id');
foreach($userBooking as $users){
$data[] = $users->count('user_id');
$lebal[] = $rooms->name;
}
}
$data=[
'lebal' => $lebal,
'data' => $data,
];
return view('web.dashboard',$data);
}返回$label
[
"Meeting Room",
"Single room"
]返回$data;
1,1
我想要这样的输出。
Room name ["Meeting Room","Office Rooms","Single room"]用户预订计数
[1,0,1]发布于 2022-06-06 11:21:03
Laravel包含了雄辩,一个对象-关系映射器(ORM),它使它愉快地与您的数据库交互。当使用雄辩时,每个数据库表都有一个相应的“模型”,用于与该表进行交互。除了从数据库表中检索记录外,雄辩的模型还允许您从表中插入、更新和删除记录。
如果您对使用该ORM不感兴趣,可以始终使用DB外观来访问与模型无关的特定表。
// Remember to import the facade at the top of your document
use Illuminate\Support\Facades\DB;
$results = DB::table('rooms')->select(DB::raw('id AS roomID, name, (SELECT count(id) FROM bookings WHERE room_id=roomID GROUP BY
room_id) AS count)'))->get();发布于 2022-06-06 12:07:37
就用这个吧:
DB::未准备好(“选择id作为roomID,名称,(从room_id=roomID组按room_id的预订中选择count(id) )作为从房间中的计数”);
laravel提供了一些方法来执行sql查询,如select()、where()、.但是,如果您想要编写laravel没有的特定查询或您想要的任何查询,只需使用DB类提供的未准备好的方法
https://stackoverflow.com/questions/72516762
复制相似问题