мультиязычностью.
Есть 2 таблицы:
Article
Schema::create('articles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('image')->nullable();
$table->boolean('status')->default(true);
$table->timestamps();
});
ArticleDescription
Schema::create('article_descriptions', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('language_id');
$table->foreign('language_id')->references('id')->on('languages');
$table->unsignedBigInteger('article_id');
$table->foreign('article_id')->references('id')->on('articles');
$table->unique(['article_id', 'language_id']);
$table->string('name', 255);
$table->text('description');
$table->string('meta_title', 255)->nullable();
$table->string('meta_description', 255)->nullable();
$table->timestamps();
});
Так-же в eloqment модели есть запись, которая позволяет забирать все из article_descriptions для конкретной статьи
public function descriptions() {
return $this->hasMany(ArticleDescription::class);
}
Вопрос следующий: Есть ли какой-то способ забирать данные из article_descriptions только для текущего языка, который установлен в App::getLocale()
Аналогично тому, как это происходит со связью descriptions, только определить, например, одну связь.
Что-то вроде hasOne, с условиями?
public function magic() { return $this->hasMany(ArticleDescription::class)->where('language_id', App::getLocale()); } something like this
Обсуждают сегодня