本文整理匯總了PHP中app\models\Book::join方法的典型用法代碼示例。如果您正苦於以下問題:PHP Book::join方法的具體用法?PHP Book::join怎麽用?PHP Book::join使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類app\models\Book
的用法示例。
在下文中一共展示了Book::join方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: findItem
/**
* Find item in cart,
* @param $id
* @param $type
* @return mixed
*/
public function findItem($id, $type)
{
$query = $this;
if ($type == self::TYPE_BOOK) {
$query = Book::join('prices', function ($query) use($id) {
$query->on('prices.item_id', '=', 'books.id')->where('books.id', '=', $id)->where('prices.type', '=', self::TYPE_BOOK);
})->select(['books.id', 'books.title', 'books.teaser', 'prices.minimumprice', 'prices.suggestedprice', DB::raw('1 as type'), DB::raw('CONCAT("[\\"", books.diravatar, "\\"]") as avatar')]);
} else {
if ($type == self::TYPE_BUNDLE) {
$query = Bundle::join('prices', function ($query) {
$query->on('prices.item_id', '=', 'bundles.id')->where('prices.type', '=', self::TYPE_BUNDLE);
})->join('book_bundle', function ($query) {
$query->on('book_bundle.bundle_id', '=', 'bundles.id')->where('accepted', '=', 1);
})->join('books', function ($query) {
$query->on('books.id', '=', 'book_bundle.book_id');
})->groupBy('bundles.id')->select(['bundles.id', 'bundles.title', 'bundles.description as teaser', 'prices.minimumprice', 'prices.suggestedprice', DB::raw('2 as type'), DB::raw('CONCAT("[\\"", "books.diravatar", "\\"]") as avatar')]);
}
}
return $query->first();
}