本文整理汇总了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();
}