87 lines
2.6 KiB
PHP
87 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Models\Course;
|
|
use App\Contracts\Collageable;
|
|
use App\Contracts\Previewable;
|
|
use App\Models\Course\UserCourses;
|
|
use App\Models\Course\CourseVideo;
|
|
use App\Models\MerchantAccount;
|
|
use App\Traits\CanCollage;
|
|
use App\Traits\HasPreviews;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
use App\Contracts\Logable;
|
|
use App\Traits\Haslog;
|
|
use Actuallymab\LaravelComment\HasComments;
|
|
use Actuallymab\LaravelComment\Contracts\Commentable;
|
|
use App\Models\Live\Anchor;
|
|
|
|
class Course extends Model implements Logable,Commentable,Previewable,Collageable
|
|
|
|
{
|
|
use \Conner\Tagging\Taggable;
|
|
use Haslog;
|
|
use HasComments, HasPreviews;
|
|
use CanCollage;
|
|
protected $fillable = [];
|
|
protected $guarded = [];
|
|
use SoftDeletes;
|
|
//购买该课程的会员
|
|
public function UserCourse()
|
|
{
|
|
return $this->hasMany(UserCourses::class)->where('status',1)->select('user_id','course_id')->orderby('id','desc')->limit(3);
|
|
}
|
|
|
|
public function member()
|
|
{
|
|
return $this->hasOne(UserCourses::class,'course_id','id');
|
|
}
|
|
|
|
public function anchor()
|
|
{
|
|
return $this->hasOne(Anchor::class,'m_id','merchant_id');
|
|
}
|
|
|
|
//购买该课程的会员
|
|
public function BusinessUserCourse()
|
|
{
|
|
return $this->hasMany(UserCourses::class)->where('status',1)->select('open_id','course_id')->orderby('id','desc')->limit(3);
|
|
}
|
|
//课程目录
|
|
public function videos()
|
|
{
|
|
return $this->hasMany(CourseVideo::class)
|
|
->select('id','course_id','title','url','short_description','original_desc','render_desc','duration','view_num','aliyun_video_id','thumb','free_play','ppt_name','ppt_url','price')
|
|
->orderBy('free_play','desc')
|
|
->orderBy('sort','desc')
|
|
->orderBy('id','asc');
|
|
}
|
|
|
|
//课程老师信息
|
|
public function account(){
|
|
return $this->hasOne(MerchantAccount::class,'openid','open_id')->select('mobile','openid','qr_code','share_icon','share_title','share_subtitle');
|
|
}
|
|
|
|
//课程学员信息
|
|
// public function member(){
|
|
// return $this->hasOne(Viewer::class,'');
|
|
// }
|
|
|
|
public function getThumbAttribute($value)
|
|
{
|
|
if ($this->merchant_id == 491) {
|
|
if ($value) {
|
|
if (!strpos('local-pictures', $value) && !strpos($value, 'x-oss-process')) {
|
|
return $value . Config('image.watermark');
|
|
} else {
|
|
return $value;
|
|
}
|
|
} else {
|
|
return $value;
|
|
}
|
|
}else{
|
|
return $value;
|
|
}
|
|
}
|
|
}
|