3 回答
TA贡献1797条经验 获得超4个赞
$calllog是一个对象数组,您应该使用它first()来代替get()或使用它$calllog[0]->expiry_date,如果我正确理解您的要求,那么应该$calllog[0]->expiry_date试试这个:
public function index(){
$calllog = DB::table("calllogs")->join("users", "users.id", "=", "calllogs.user_id")->get();
if($calllog[0]->expiry_date > 'expiry_date'){
return $this->sendResponse($calllog->toArray(), 'Package Expired Sorry!');
}
else{
return $this->sendResponse($calllog->toArray(), 'Call Log retrieved successfully');
}
}
TA贡献1898条经验 获得超8个赞
您正在比较一整列,因为$calllog
它是一个集合,而不是一个元素。您应该指定要比较表中的哪些行。您可以使用以下方法执行此操作:
$calllog = DB::table('calllogs')->join('users', 'users.id', '=', 'calllogs.user_id')->find($id);
例如。如果你想比较它们,你必须遍历它们。
Morover,您正在将它与不是日期的字符串“expiry_date”进行比较......
TA贡献1719条经验 获得超6个赞
该get
方法返回一个实例,Illuminate\Support\Collection
该实例是用于处理数据数组的包装器
您正在尝试访问expiry_date
一组对象
您可以通过更改此行来修复它
$calllog = DB::table('calllogs')->join('users', 'users.id', '=', 'calllogs.user_id')->get();
至
$calllog = DB::table('calllogs')->join('users', 'users.id', '=', 'calllogs.user_id')->first();
- 3 回答
- 0 关注
- 101 浏览
添加回答
举报