Php 使用laravel从控制器向视图返回更多值的最佳方法是什么?

Php 使用laravel从控制器向视图返回更多值的最佳方法是什么?,php,laravel,view,controller,return,Php,Laravel,View,Controller,Return,我在向一个视图传递2个值时遇到了一些麻烦,我正在使用下面的代码,并尝试了几种方法,比如在数组中传递它 我的控制器: public function user(User $profile) { $fdate = $profile->geboortedatum; $tdate = date('Y-m-d'); $datetime1 = new DateTime($fdate); $datetime2 = new DateTime($tdate); $i

我在向一个视图传递2个值时遇到了一些麻烦,我正在使用下面的代码,并尝试了几种方法,比如在数组中传递它

我的控制器:

public function user(User $profile)
{

    $fdate = $profile->geboortedatum;
    $tdate = date('Y-m-d');
    $datetime1 = new DateTime($fdate);
    $datetime2 = new DateTime($tdate);
    $interval = $datetime1->diff($datetime2);
    $years = $interval->format('%y');//now do whatever you like with $years
    //dd($y);





return view('profile.profile', compact('profile'));
}  
我的看法是:

<div>
    <row>
        <div>Naam: </div>
        <div>{{$profile->name}}</div>
    </row>
    <row>
        <div>Geslacht: </div>
        <div>{{$profile->geslacht}}</div>
    </row>
    <row>
        <div>Op zoek naar: </div>
        <div>{{$profile->partnergeslacht}}</div>
    </row>
    <row>
        <div>Leeftijd: </div>
        <div>{{$years}}</div>
    </row>
</div>

纳姆:
{{$profile->name}
格斯拉赫特:
{{$profile->geslacht}
Op zoek naar:
{{$profile->partnergeslacht}
Leeftijd:
{{$years}
我希望能够将值
$years
compact('profile')
从控制器返回到我的视图。我尝试使用数组并将这两个值传递给视图,但效果不好。有人知道通过一次传递更多的值可以获得更好的实践吗?这对我将来知道也可能有用

谢谢你的帮助:)


Dave

尝试使用关联数组而不是
compact

public function user(User $profile)
{
    ...
    return view('profile.profile', [
        'years' => $years,
        'profile' => $profile
    ]);
}

示例

您现在可以在视图中访问这些变量,如下所示:

{{ $profile }}

@foreach($years as $year)
    {{ $year }}
@endforeach

尝试使用关联数组,而不是
compact

public function user(User $profile)
{
    ...
    return view('profile.profile', [
        'years' => $years,
        'profile' => $profile
    ]);
}

示例

您现在可以在视图中访问这些变量,如下所示:

{{ $profile }}

@foreach($years as $year)
    {{ $year }}
@endforeach

好的,我明白了,所以我离开了
compact
,如何通过视图访问返回数组中的这些值?我的意思是,数组没有像大多数数组那样的名称,对吗?
compact
只是一个创建关联数组()的PHP函数。所以你可以自己创建一个关联数组,做同样的事情
Blade
将数组的值映射到按键命名的变量(即“年”变为
$years
)好的,我明白了,所以我离开了
compact
,如何通过视图访问返回数组中的这些值?我的意思是,数组没有像大多数数组那样的名称,对吗?
compact
只是一个创建关联数组()的PHP函数。所以你可以自己创建一个关联数组,做同样的事情
Blade
将数组的值映射到按键命名的变量(即“年”变为“
$years
)。使用
compact('profile','years')有什么问题吗??你有什么错误吗?嗨@zahidhasanemon,我刚试过按你描述的方式压缩它,它也在工作。直到现在我才知道compact的用途:)使用
compact('profile','years')
有什么不对??你有什么错误吗?嗨@zahidhasanemon,我刚试过按你描述的方式压缩它,它也在工作。直到现在我才知道compact的用途:)