【问题标题】:How to call a function from another route in laravel php如何从 laravel php 中的另一条路由调用函数
【发布时间】:2022-01-20 12:34:34
【问题描述】:

我试图从 laravel php 中的另一个路由调用一个函数。

我有“欢迎”路线

Route::get('/', function () {
    return view('welcome');
});

我称之为扩展的地方(边栏)

@extends('layouts.guestnavbar')

我想看看我的表格通知是否为空,所以我做了这个控制器

class GuestNavbarController extends Controller
{
    public function isempty(){
        $notif = Notification::first();
        if(is_null($notif)) {
            return view('layouts.guestnavbar')->with("checkempty", "empty");
        }else {
            return view('layouts.guestnavbar')->with("checkempty", "not empty");
        }
    }
}

我在路由 guestnavbar 中调用了变量 {{ $checkempty }}

Route::get('/guestnavbar', [GuestNavbarController::class, 'isempty']);

当我在路线 guestnavbar 中时它可以工作 但是当我在欢迎路线中时不起作用,因为我在路线 guestnavbar 中调用了该函数,并且在欢迎中他不识别变量:checkempty

我需要在 guestnavbar 中使用此功能,因为我必须在其他页面上调用它,而不仅仅是在欢迎页面中

感谢您的帮助。

【问题讨论】:

  • 查看view composers,这将允许您在任何时候加载视图时运行方法

标签: php laravel routes laravel-blade


【解决方案1】:

你不需要在控制器中使用 isempty,只需在 Notification 模型中添加方法 isempty,你可以在 Notification 模型中使用类似的东西:

public static function isEmpty(){
    return Notification::first() ? true : false;
}

然后你需要检查通知表是否为空,只需调用 Notification::isEmpty()

【讨论】:

  • 我试过了,效果很好!谢谢。
猜你喜欢
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
  • 2019-09-22
  • 2014-08-08
  • 2017-11-29
  • 2020-11-26
相关资源
最近更新 更多