php - 两个函数不在同一个视图 laravel 上运行
问题描述
我正在尝试从两个不同的表中获取数据并将其显示在一页上,我的意思是在一个视图中。但是只有一个功能同时工作,而另一个不工作,反之亦然,这两个功能单独工作但不能组合工作。请帮忙。我的代码是给的。PdfContoller.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use PDF;
use Auth;
class PdfController extends Controller
{
public function personalpdf()
{
if(\Auth::check()){
$user = \Auth::user();
return view('pdf/personalpdf',compact('user'));
}
else
{
return view('pdf/personalpdf');
}
}
public function personalphd()
{
$user_id = Auth::user()->id;
$result['result'] = DB::table('education')->where('user_id' ,'=', $user_id)->get();
if(count ($result)>0){
return view('pdf/personalpdf',$result);
}
else
{
return view('pdf/personalpdf');
}
}
}
我的控制器包含上述两个函数,用于从两个不同的表中获取数据。我的视图文件是personalpdf.blade.php 在这里给出。
@extends('layouts.app')
@section('content')
<div class="container"><br>
<h1 class="text-success text-center">Profile</h1><br>
<table class="table table-bordered">
@if(isset($user))
<tr>
<th>Name</th>
<td>{{ $user ->tname}}</td>
</tr>
<tr>
<th>Father Name</th>
<td>{{ $user ->fname}}</td>
</tr>
<tr>
<th>Contact Number</th>
<td>{{ $user ->phone}}</td>
</tr>
<tr>
<th>Email</th>
<td>{{ $user ->email}}</td>
</tr>
<tr>
<th>Official Email</th>
<td>{{ $user ->off_email}}</td>
</tr>
@endif
</table>
<div class="text text-success text-center">
PHD Research
</div>
<table class="table">
<tr>
<th>
PHD Research Area
</th>
<th>University</th>
<th>Country</th>
</tr>
@foreach($result as $value)
<tr>
<td>{{$value->research_area}}</td>
<td>{{$value->univ}}</td>
<td>{{$value->country}}</td>
</tr>
@endforeach
</table>
@endsection
我的路线在这里给出。
Route::get('pdf/personalpdf','PdfController@personalpdf');
Route::get('pdf/personalpdf','PdfController@personalphd');
Route::get('/personal','PdfController@personal');
实际上我想制作一个视图文件,我可以在其中查看当前登录用户的所有个人详细信息。在它下面,我想展示他从教育表中获得的 PHD 研究细节。但我在同一时间只得到一个结果。我的意思是,如果我获得了登录用户的个人详细信息,则不会显示 phd 详细信息,如果我获得了 phd 详细信息,它会为我提供所有 phd 详细信息,而不是当前登录用户的详细信息。请帮忙。
解决方案
class PdfController extends Controller
{
public function personalpdf()
{
if(\Auth::check()){
$user = \Auth::user();
$user_id = $user->id;
$result = DB::table('education')->where('user_id' ,'=', $user_id)->get();
return view('pdf/personalpdf',compact('user', 'result'));
}else {
return view('pdf/personalpdf');
}
}
}
路由文件
Route::get('pdf/personalpdf','PdfController@personalpdf');
Route::get('/personal','PdfController@personal');
尝试这个。您必须将同一控制器操作的用户和结果都传递给视图。我认为你缺乏一些 laravel 的基础知识。请在继续之前浏览文档。
推荐阅读
- tfs - 如何正确配置 NuGet 包以与 DevOps (TFS) 协作
- python - 将 DataFrame 转换为具有 DataFrame 列名的多维数组
- c++ - 如果函数重载,Boost phoenix 成员函数运算符无法编译
- android - 如何在颤振 sdk 1.2.1 上获取当前位置
- angular - 将角度添加到窗口类型定义
- codeigniter - 如何按标题排序,然后按描述排序
- php - 在 Woocommerce 订单总计行中添加计算的储蓄总计
- php - 本机 php 项目 mysql 插入命令仅不起作用且没有错误
- java - 线程“主”java.lang.IllegalStateException 中的异常:流已被操作或关闭
- html - 导航栏中的 Bootstrap 4 导航药丸