mysql - laravel - 将查询结果从 HomeController 传递到主 Blade View

标签 mysql laravel

我正在尝试使用以下代码将查询结果从 HomeController 传递到主 Blade View ,但它似乎无法正常工作。

public function index()
{
  $result=DB::table('tablename')->where('this', 'that')->where('this', 'that')->value('value');      
  return view('home',compact ('result'));        
}

如果我只写 return $result 我就能够打印出值,这意味着我正在获取数据。

在我的主视图中,我有这样的东西

@if(!$result->isEmpty())     
 // print $result
@else
 //do something else if $result is empty
@endif

我的路线是这样的 Route::get('/', 'HomeController@index');

我还根据我看过的教程尝试了这个return view('home'$result));,它似乎工作正常但在我的情况下它不起作用!

知道我做错了什么吗?

最佳答案

由于您返回的是字符串值而不是集合,因此您应该使用 empty() 函数进行检查

@if(!empty($result))     
 // print $result
@else
 //do something else if $result is empty
@endif

empty()在 PHP 文档中

关于mysql - laravel - 将查询结果从 HomeController 传递到主 Blade View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58244787/

相关文章:

mysql - 检查一个和/或另一个表是否在同一查询中包含特定值?

mysql - 递归 MySql 触发器不起作用

mysql - INSERT w/SELECT 子查询和重复键错误

javascript - Laravel 从表单数据保存图像

php - 如何节省用户退出时的时间?(已关闭)

mysql - 尝试从 MySQL DB 添加 View 时出现 "fatal error encountered during command execution"

php - 如何使用包含架构和数据的xml文件自动创建数据库?

caching - Laravel 发送无缓存 header

php - 在 socket.io 中调用 laravel 事件

laravel - 在 Laravel 中打印查询