在Laravel中只获取相关项
在我的模型中
Models/Book.php
我实现了这个关系
public function getBook() {
return $this->hasOne(BookCover::class, 'book_id', 'id');
}
在我的控制器中
public function getBookCover() {
$bookCover = Book::with('getBook')->get();
return response()->json(
$bookCover
);
它将返回
{
"id": 1,
"uuid": "89833855-5777-4baf-9218-2c715619dd9b",
"created_at": "2023-01-10T08:00:00.000000Z",
"updated_at": "2023-01-10T08:00:00.000000Z",
"get_book": {
"id": 1,
"uuid": "32eb81d7-d36d-4333-ba59-f40a3809dc71",
"created_at": "2023-01-10T08:00:00.000000Z",
"updated_at": "2023-01-10T08:00:00.000000Z",
"book_name": "في أعماق الصمت",
"book_image": "https://www.noor-book.com/publice/covers_cache_webp/2/5/d/6/6d212d49275d67ffe387771061a711fa.jpg.webp",
"book_rate": 5,
"book_page_number": 210,
"book_description": "رواية فلسفية تستكشف معنى الوجود والصمت الداخلي في عالم مليء بالضجيج، تأخذ القارئ في رحلة روحية عميقة.",
"book_id": 1,
"views": "0",
"category_id": 5
}
我只想获取get_book
解决方案
仅对关系进行Pluck(最佳且最干净)
public function getBookCover() {
$bookCover = Book::with('getBook')->get()->pluck('getBook');
return response()->json($bookCover);
}
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。