0
私のモデルは以下のとおりです。は、MySQL、Laravelの列の一部にnullを取得、次のように翻訳
FAQ:
class Faq extends Model
{
use Translatable;
public $translatedAttributes = ['question', 'answer'];
public function faqtranslations()
{
return $this->hasMany(FaqTranslation::class);
}
}
とFaqTranslation:
class FaqTranslation extends Model
{
public $timestamps = false;
protected $fillable = ['question', 'answer'];
}
そして、ここでは私のshow
ですFaqControllerのメソッド:
public function show($id)
{
$faq = Faq::find($id);
$faq_translations = Faq::join('faq_translations as t', 't.faq_id', '=', 'faqs.id')
->where('t.faq_id', $id)
->select('t.locale','t.question','t.answer')
->get();
return view('dashboard.faqs.show', compact('faq_translations'));
}
次は、ビューページの結果である:
{{$faq_translations}}
は正しく[{"locale":"lv","question":"lv-q","answer":"lv-a"},{"locale":"ru","question":"ru-q","answer":"ru-a"},{"locale":"en","question":"en-q","answer":"en-a"}]
{{$faq_translations[0]->locale}}
正しくlv
- 誤っ
null
(lv-q
を表示する必要があります)
同じことが真であるを表示する表示を表示します配列の他のメンバに対して
私はここで何が欠けていますか?
に役立ちます願っています。私はMySQlに新しいです、私は質問があります - なぜ私は最後にget()メソッドを使用する必要がありますか? – srigu
'get'メソッドは、各結果が' PHP StdClass'オブジェクトのインスタンスである結果を含む 'Illuminate \ Support \ Collection'を返します。オブジェクトのプロパティとして列にアクセスすることで、各列の値にアクセスできます。 –
https://laravel.com/docs/5.4/queries#introductionここでエクスパールされています。問題が解決した場合。答えに投票してください。 :) –