UserShelfBooks.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: tandunzhao
  5. * Date: 2017/11/17
  6. * Time: 下午4:44
  7. */
  8. namespace App\Modules\Book\Models;
  9. use Illuminate\Database\Eloquent\Model;
  10. class UserShelfBooks extends Model
  11. {
  12. protected $tables = 'user_shelf_books';
  13. protected $fillable = ['uid', 'distribution_channel_id', 'bid'];
  14. /**
  15. * 根据uid获取书架
  16. */
  17. static function getUserShelfBooksListByUid($uid,$page_size=15,$is_all=false)
  18. {
  19. //$shelfBooks = self::where('uid', isset($uid) ? $uid : '');
  20. $shelfBooks = self::where('uid', $uid)
  21. ->join('book_configs','user_shelf_books.bid','=','book_configs.bid')
  22. ->join('books','user_shelf_books.bid','=','books.id')
  23. ->select('book_configs.cover','book_configs.book_name','user_shelf_books.bid',
  24. 'user_shelf_books.distribution_channel_id','user_shelf_books.bid','user_shelf_books.id',
  25. 'user_shelf_books.uid','user_shelf_books.updated_at','books.first_cid','books.last_cid as last_cid',
  26. 'books.intro','books.author','books.size','books.status'
  27. )->orderBy('user_shelf_books.id','desc');
  28. if($is_all)
  29. {
  30. return $shelfBooks->get();
  31. }else{
  32. return $shelfBooks->paginate($page_size);
  33. }
  34. }
  35. /**
  36. * 根据uid,bid获取书架
  37. * 用于判断用户是添加本书
  38. * @param $uid
  39. * @param $bid
  40. * @return mixed
  41. */
  42. static function getUserShelfBooksListByUidAndBid($uid,$bid){
  43. return self::where('uid',$uid)->where('bid',$bid)->select('id','uid','distribution_channel_id','bid')->first();
  44. }
  45. static function getShelfById($id){
  46. return self::where('user_shelf_books.id', $id)->join('book_configs','user_shelf_books.bid','=','book_configs.bid')
  47. ->select('book_configs.cover','book_configs.book_name','user_shelf_books.bid',
  48. 'user_shelf_books.distribution_channel_id','user_shelf_books.bid','user_shelf_books.id','user_shelf_books.uid','user_shelf_books.updated_at')->first();
  49. }
  50. }