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 關注
- 143 瀏覽
添加回答
舉報