Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki, ar įmanoma @foreach cikle prasukti du skirtingus kintamuosius iš skirtingų modelių ? Šiuo atveju 'Article' ir 'User' modelio.

 

	<h1>Articles</h1>

<hr>

@if(count($articles))
	@foreach($articles as $article)
<article>

		<h2><a href="{{ action('ArticlesController@show', [$article->id]) }}">{{ $article->title }}</a></h2>

		<div class="body">{{ $article->body }}</div>

</article>
	@endforeach
@else
	<p>No Articles</p>
@endif

@foreach($users as $user)
	<p>{{ $user->name }}</p>
@endforeach

 

Man reikia, kad vardą, mestu šioje vietoje: <div class="body">{{ $article->body }}</div>. Įmanomą taip padaryti ?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taip. :) Padarius {{ $article->user_id }} // man meta autoriaus id. Man reikia, kad vietoj skaičiaus(id) rodytų jo vardą iš 'users' lentelės :)

Jeigu teisingai viskas sumapinta turetum pasiekti per {{ $article->user_id->name }} cia kintamuosius daviau kaip pavyzdi nezinau kaip pas tave yra

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jeigu teisingai viskas sumapinta turetum pasiekti per {{ $article->user_id->name }} cia kintamuosius daviau kaip pavyzdi nezinau kaip pas tave yra

 

Neišeina taip kažkodėl. Meta error'ą.

 

Trying to get property of non-object

 

Tau reikia naudoti relationshipus http://laravel.com/docs/5.1/eloquent-relationships, tada pagal FK galėsi gauti reikia modelį, tavo atveju $article->user->name

 

Atrodo kaip ir naudoju, nebent kažkas ne taip čia.

 

User.php:

 

    public function articles()
   {
       return $this->hasMany('App\Article');
   }

 

Article.php:

 

    public function user()
   {
       return $this->belongsTo('App\User');
   }

 

SUTVARKYTA

 

Reikėjo šitaip: $article->user['name']

 

Ačiū už pagalbą!

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Reikėjo šitaip: $article->user['name']

 

Teoriškai reikšme gali pasiekti ir taip. Bet mažiau rašyti ir kad kitam programuotojui butu aiskiau kad cia ne koks array, tai naudoja taip:

 

$article->user->name

 

Atkreipk demesi kad user, o ne user_id kaip kazkieno pavyzdyje

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Teoriškai reikšme gali pasiekti ir taip. Bet mažiau rašyti ir kad kitam programuotojui butu aiskiau kad cia ne koks array, tai naudoja taip:

 

$article->user->name

 

Atkreipk demesi kad user, o ne user_id kaip kazkieno pavyzdyje

Gal reikėjo serverį retartuot, nes vakar nėjo paimt šitaip: $article->user->name, veikė tik šitas būdas $article->user['name']; Bet dabar jau abu veikia :unsure:

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...