UserShelfBooks.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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'
  26. )->orderBy('user_shelf_books.id','desc');
  27. if($is_all)
  28. {
  29. return $shelfBooks->get();
  30. }else{
  31. return $shelfBooks->paginate($page_size);
  32. }
  33. }
  34. /**
  35. * 根据uid,bid获取书架
  36. * 用于判断用户是添加本书
  37. * @param $uid
  38. * @param $bid
  39. * @return mixed
  40. */
  41. static function getUserShelfBooksListByUidAndBid($uid,$bid){
  42. return self::where('uid',$uid)->where('bid',$bid)->select('id','uid','distribution_channel_id','bid')->first();
  43. }
  44. static function getShelfById($id){
  45. return self::where('user_shelf_books.id', $id)->join('book_configs','user_shelf_books.bid','=','book_configs.bid')
  46. ->select('book_configs.cover','book_configs.book_name','user_shelf_books.bid',
  47. 'user_shelf_books.distribution_channel_id','user_shelf_books.bid','user_shelf_books.id','user_shelf_books.uid','user_shelf_books.updated_at')->first();
  48. }
  49. }