简体   繁体   English

Laravel传递数据以查看

[英]Laravel passing data to view

This is my blade file 这是我的刀片文件

<h1>Reports for {{$site_name}} </h1>

This is my Controller 这是我的控制器

public function showSpecificSite($site_id, $site_name){

$reports = Report::whereHas('site', function($query) use($site_id) {
    $query->where('site_id', $site_id);
})->get(['email_date', 'url', 'recipient']);

$site_name = Site::find(site_name)->get();

  return view('newsite', compact('site_id', 'site_name', 'reports'));
}

Routes.php routes.php文件

Route::get('sites/{site_id}', 
['as'=>'SpecificSite','uses'=>'ReportController@showSpecificSite']);

i'm new in laravel 我是laravel的新手

I have a question about passing data to view.blade 我有一个关于将数据传递给view.blade的问题

My reports are working well but I want to get the site_name value from the site table as well. 我的报告运行良好,但我也想从站点表中获取site_name值。 Do you have any idea how can I fix this? 您知道如何解决此问题吗?

As it stands, Site::find(site_name)->get(); 就目前而言, Site::find(site_name)->get(); should a fatal error, as site_name is not defined as a global or otherwise. 致命错误,因为site_name未定义为全局或其他。 To get a single property from a database, use the pluck() method: 要从数据库获取单个属性,请使用pluck()方法:

$siteName = Site::where("id", "=", $site_id)->pluck("site_name");

Note: Couldn't make it work with ::find($site_id) , but might just be an issue with my Model. 注意:无法使它与::find($site_id) ,但是可能只是我的模型存在的问题。

Try this line instead: 尝试以下这一行:

$site_name = Site::find($site_id)->name;

Where name is the column where you're saving the site name in your table 其中名称是要在表中保存站点名称的列

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM