时间戳转换器

如何在 Laravel 的同一视图中检索或返回不同的记录?

日期:2023-05-09     浏览:41    
【中文标题】如何在 Laravel 的同一视图中检索或返回不同的记录?【英文标题】:How can i retrieve or return different records on the same view in Laravel? 【发布时间】:2020-04-19 01:37:23 【问题描述】:

请尝试在仪表板视图中检索事件数据和学生数据,但它们似乎相互冲突。学生记录也显示在我的事件记录应该显示的位置。 看起来是这样的:

路线

Route::post('/dashboard/submit', 'EventController@submit');
Route::get('/dashboard', 'EventController@getevent');
Route::post('/dashboard/student/pay', 'PaymentController@submit');
Route::post('register','StudentRegister@register');
Route::get('/dashboard', 'StudentRegister@getStudents');

EventController.php

class EventController extends Controller

    public function submit(Request $request)
    
        $message = new Event;
        $message->title = $request->input('title');
        $message->deadline = $request->input('deadline');
        $message->message = $request->input('message');

        $message->save();

        return redirect('/dashboard')->with('status', 'Event Added');
    


    public function getevent()
    
        $msgevent = Event::orderBy('id', 'DESC')->get();

        return view('dashboard')->with('dashboard', $msgevent);
    

studentRegister.php

public function getStudents()
    $Students = Student::all();

    return view('dashboard') -> with('dashboard', $Students);

我的 dashboard.blade.php

中有这些
<div class="paginate-no-scroll 5">
    <div class="items">

        @if(count($dashboard) > 0)
        @foreach ($dashboard as $msg)
        <div>
            <svg class="bd-placeholder-img mr-2 rounded"   xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" focusable="false" role="img" aria-label="Placeholder: 32x32">
                <rect   fill="#007bff"/>
                <text x="50%" y="50%" fill="#007bff" dy=".3em"></text>
            </svg>
            <p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
                <strong class="d-block text-gray-dark">$msg -> title</strong> | $msg -> deadline |<b
                    style="color: #25027f"> @username</b> | <a href="#" style="text-decoration: underline;">Edit</a> |
                <a href="/delete/!! $msg -> id !!" style="text-decoration: underline;">Delete</a><br>
                $msg -> message
        </div>
        @endforeach
        @endif

        <table id="tableData" class="table table-bordered table-striped">
            <thead>
            <th>#</th>
            <th>Student ID</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Action</th>
            </thead>

            @if(count($dashboard) > 0)
            @foreach ($dashboard as $std)
            <tr>
                <td style="text-align:center"><img src="uploads/$std->image" style="width: 50px;height: 50px; border-radius: 50%" ></td>
                <td style="text-align:center; padding-top: 25px;">$std->studentID</td>
                <td style="text-align:center; padding-top: 25px;">$std->fName</td>
                <td style="text-align:center; padding-top: 25px;">$std->surName</td>
                <td style="text-align:center; padding-top: 25px;"><a href="" class="btn btn-primary"> view</a>
                </td>
            </tr>
            @endforeach
            @endif

            </tbody>
        </table>

【问题讨论】:

【参考方案1】:

为什么你用同名调用两个事件。你改变你的代码如下。

studentRegister.php

public function getStudents()

    $students = Student::all();
    $msgevents = Event::all()->orderBy('id', 'DESC');

    return view('dashboard', [
                     'students' => $students,
                     'msgevents' => $msgevents
               ]);

不要忘记在文件中添加use App\Event;。

dashboard.blade.php

<div class="paginate-no-scroll 5">
      <div class="items">

          @if(count($msgevents) > 0)
          @foreach ($msgevents as $msg)
        <div>


          <svg class="bd-placeholder-img mr-2 rounded"   xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" focusable="false" role="img" aria-label="Placeholder: 32x32"><rect   fill="#007bff"/><text x="50%" y="50%" fill="#007bff" dy=".3em"></text></svg>
          <p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
          <strong class="d-block text-gray-dark">$msg -> title</strong> | $msg -> deadline |<b style="color: #25027f"> @username</b> | <a href="#" style="text-decoration: underline;">Edit</a> | <a href="/delete/!! $msg -> id !!" style="text-decoration: underline;">Delete</a><br>
          $msg -> message

        </div>
         @endforeach
        @endif





<table id="tableData" class="table table-bordered table-striped">
          <thead>
    <th>#</th>
    <th>Student ID</th>
    <th>First Name</th>
    <th>Last Name</th>
    <th>Action</th>
  </thead>
    @if(count($students) > 0)
      @foreach ($students as $std)
  <tr>
    <td style="text-align:center"><img src="uploads/$std->image" style="width: 50px;height: 50px; border-radius: 50%" ></td>
    <td style="text-align:center; padding-top: 25px;" >$std->studentID</td>
    <td style="text-align:center; padding-top: 25px;">$std->fName</td>
    <td style="text-align:center; padding-top: 25px;">$std->surName</td>
    <td style="text-align:center; padding-top: 25px;"><a href="" class="btn btn-primary"> view</a> 
    </td>
  </tr>
      @endforeach
      @endif

  </tbody>
        </table>

【讨论】:

我得到未定义的变量:msgevents 现在我编辑了试试我的改变看看。从$msgevents = Event::orderBy('id', 'DESC')-&gt;get(); 到$msgevents = Event::all()-&gt;orderBy('id', 'DESC');。 这些是错误 [ * undefined variable:msgevents*, possible typo $msgevents 你的意思是 $students,最后修复错字] 你为什么要为同一个视图使用两个函数?有什么要求吗?否则我将更改代码。 删除一种方法,并在一种方法中同时添加。【参考方案2】:

您在控制器中使用具有相同with 变量dashboard 的相同视图。

在 EventController.php 中 获取事件:

return view('dashboard') -> with('dashboard', $msgevent);

在 studentRegister.php 中 获取学生:

return view('dashboard') -> with('dashboard', $Students);

在相应的文件中将它们更改为更合适的名称,例如:

return view('dashboard') -> with('events', $msgevent);
return view('dashboard') -> with('students', $Students);

然后在您的 blade 文件中使用这些名称,例如:

<div class="paginate-no-scroll 5">
    <div class="items">

        @if($events && count($events) > 0)
        @foreach ($events as $msg)
        <div>
            <svg class="bd-placeholder-img mr-2 rounded"   xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" focusable="false" role="img" aria-label="Placeholder: 32x32">
                <rect   fill="#007bff"/>
                <text x="50%" y="50%" fill="#007bff" dy=".3em"></text>
            </svg>
            <p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
                <strong class="d-block text-gray-dark">$msg -> title</strong> | $msg -> deadline |<b
                    style="color: #25027f"> @username</b> | <a href="#" style="text-decoration: underline;">Edit</a> |
                <a href="/delete/!! $msg -> id !!" style="text-decoration: underline;">Delete</a><br>
                $msg -> message
        </div>
        @endforeach
        @endif

        <table id="tableData" class="table table-bordered table-striped">
            <thead>
            <th>#</th>
            <th>Student ID</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Action</th>
            </thead>

            @if($students && count($students) > 0)
            @foreach ($students as $std)
            <tr>
                <td style="text-align:center"><img src="uploads/$std->image" style="width: 50px;height: 50px; border-radius: 50%" ></td>
                <td style="text-align:center; padding-top: 25px;">$std->studentID</td>
                <td style="text-align:center; padding-top: 25px;">$std->fName</td>
                <td style="text-align:center; padding-top: 25px;">$std->surName</td>
                <td style="text-align:center; padding-top: 25px;"><a href="" class="btn btn-primary"> view</a>
                </td>
            </tr>
            @endforeach
            @endif

            </tbody>
        </table>

【讨论】:

我现在得到未定义的变量:事件 由于我们使用相同的刀片文件在 2 个控制器中渲染,我们应该在使用前检查传入的变量是否存在到视图中。我已经更新了答案中的刀片文件以显示,例如:@if($events &amp;&amp; count($events) &gt; 0) 和 @if($students &amp;&amp; count($students) &gt; 0)。

相关文章

如何使用 eloquent 在 laravel 迁移中删除 POSTGRES 表或视图?

{】如何使用eloquent在laravel迁移中删除POSTGRES表或视图?【英文标题】:HowdoIdropaPOSTGRESTableoraViewinalaravelmigrationusingeloquent?【发布时间】:2021-03-3108:56:18【问题描述】:我知道有一个与postgres类似的问题,但它使用原始Sql,我正在寻...}

如何在同一资源LARAVEL中返回数据透视表的数据

{】如何在同一资源LARAVEL中返回数据透视表的数据【英文标题】:HowtoreturnthedataofapivottableinthesameresourceLARAVEL【发布时间】:2019-12-0123:21:40【问题描述】:我有一个关于LARAVELAPI的小问题。如何在同一资源中返回和连接数据透视表的...}

如何在 php 中将“$_POST”返回到同一页面或不同的结果页面? [关闭]

{】如何在php中将“$_POST”返回到同一页面或不同的结果页面?[关闭]【英文标题】:Howto\'$_POST\'backtothesamepageortoadifferentresultpageinphp?[closed]【发布时间】:2012-06-2400:54:12【问题描述】:我写了一个php文件Calculator.php将结果发布到info...}

Laravel - 从刀片视图中的模型关系中检索属性

{】Laravel-从刀片视图中的模型关系中检索属性【英文标题】:Laravel-retrievingattributefromwithinamodelrelationshipinabladeview【发布时间】:2019-02-2620:33:30【问题描述】:我使用名为“previous_owner”的外键创建了产品和用户之间的关系。当我...}

当视图以另一种方法返回时,Laravel 返回空白页

{】当视图以另一种方法返回时,Laravel返回空白页【英文标题】:Laravelreturnsblankpagewhenviewisreturnedinanothermethod【发布时间】:2016-07-1309:08:48【问题描述】:大家好,我正在开发一个Laravel项目,出于项目结构的目的,我试图通过调...}

Laravel:控制器资源索引不返回视图或字符串

{】Laravel:控制器资源索引不返回视图或字符串【英文标题】:Laravel:controllerresourceindexdoesnotreturnvieworstring【发布时间】:2020-08-2409:26:27【问题描述】:我使用以下方法创建了一个控制器:phpartisanmake:controllerVideoCategoryController--reso...}

Laravel 从视图中的表单填充数据库表并将其显示在同一视图中

{】Laravel从视图中的表单填充数据库表并将其显示在同一视图中【英文标题】:LaravelfillDBtablefromforminviewanddisplayitbackonthesameview【发布时间】:2018-06-1909:34:49【问题描述】:我是Laravel框架的新手,我正在尝试构建一个工具来管理数...}

如何在 ajax 调用时从 laravel 控制器函数返回视图?

{】如何在ajax调用时从laravel控制器函数返回视图?【英文标题】:Howtoreturnaviewfromlaravelcontrollerfunctionuponajaxcall?【发布时间】:2020-11-2419:53:08【问题描述】:我正在做一个书店项目,可以将书籍添加到购物车,用户可以选择许多书...}

如何在 Laravel 中使用 eloquent 检索每个用户的特定数据

{】如何在Laravel中使用eloquent检索每个用户的特定数据【英文标题】:howcanretrivespecificdataforeachuserbyusingeloquentinLaravel【发布时间】:2022-01-1620:17:28【问题描述】:我在数据库中有两个表,用户表和会议表。当用户成功登录时,我希...}

Laravel 4 - 根据用户数据库中的值显示不同的视图

{】Laravel4-根据用户数据库中的值显示不同的视图【英文标题】:Laravel4-Displayadifferentviewdependingonavalueinuserdatabase【发布时间】:2014-08-0815:01:07【问题描述】:我正在尝试根据用户是否激活他们的帐户来显示个人资料视图-即活动=1...}

Copyright ©2021 时间戳转换器 小常识 114pp | 陕ICP备18005036号