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.

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