看看下面的查询:
SELECT v*,s.*
FROM videos v
INNER JOIN subtitles s ON (s.subtitle_id = v.video_id AND s.language = 'en')
WHERE v.video_id = 1000
我想为Laravel / Eloquent ORM环境找到等效的数据检索操作。 因此,我的选择是:
- 使用数据库外观
- 使用查询生成器
- 在
Video
模型中定义关系
假设我希望使用后者(如果可能)。
namespace App\Models\v1;
use App\Models\v1\Subtitles;
use Illuminate\Database\Eloquent\Model;
class Video extends Model
{
protected $table = 'videos';
public function subtitle()
{
return $this->hasOne(Subtitles::class,'subtitle_id','video_id'); // How can I define the AND s.language = 'en' ?
}
}
这里的问题是我不知道如何在EloquentORM中定义AND s.language = 'en'
。
任何帮助表示赞赏。