我做错了吗?
在Laravel 4中,这不起作用:
$output = file_get_contents($url);
我必须这样做:
code=H12 desc="Request timeout" method=GET path="/data.php/mailmkt/email"
host=xxxxxxx request_id=xxxxx fwd="xx.xx.xx.xx" dyno=web.1 connect=0ms
service=30001ms status=503 bytes=0
然后它有效。
在其他框架中,它的工作方式与$things = DB::table('things')->paginate(20);
if ($things) {
$view_data = [
'have_items' => 'yes',
];
} else {
$view_data = [
'have_items' => 'no',
];
}
一样没有任何问题。
有人可以告诉我,如果我做错了什么,或者它应该像那样工作?
答案 0 :(得分:1)
您可以尝试使用 count()功能检查 $ things 变量吗?检查是否有价值。你可以查看这样的东西
$things = DB::table('things')->paginate(20);
if (count($things)>0) {
$view_data = [
'have_items' => 'yes',
];
} else {
$view_data = [
'have_items' => 'no',
];
}
希望这会有所帮助:):)
答案 1 :(得分:0)
我认为导致问题的原因是$things
可能不一定是null,但它可以是一个空数组[或集合]。这样它可以通过if($things)
条件,但仍然不包含任何内容。这就是为什么你应该进行额外检查,例如if (count($things) > 0)
或更好if (!empty($things))
。
答案 2 :(得分:0)
你可能想确保$ things是布尔值。 还尝试打印变量$ things以查看它带来的内容
答案 3 :(得分:0)
paginate()
将返回LengthAwarePaginator
,其总是评估为true
。 LengthAwarePaginator
有一个方法isEmpty()
,您可以使用,以便您可以执行以下操作...
$things = DB::table('things')->paginate(20);
$view_data = [
'have_items' => $things->isEmpty() ? 'no' : 'yes',
];