【发布时间】:2019-11-04 08:34:05
【问题描述】:
看看下面的查询:
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 环境找到等效的数据检索操作。 所以,我的选择是:
- 使用 DB 门面
- 使用查询生成器
- 在
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'。
任何帮助表示赞赏。
【问题讨论】:
标签: laravel eloquent eloquent-relationship