Explorar o código

处理$nav 不存在的情况

visuddhinanda hai 1 ano
pai
achega
6be18caf03
Modificáronse 1 ficheiros con 29 adicións e 26 borrados
  1. 29 26
      api-v8/app/Http/Controllers/ArticleNavController.php

+ 29 - 26
api-v8/app/Http/Controllers/ArticleNavController.php

@@ -18,44 +18,44 @@ class ArticleNavController extends Controller
         //
         switch ($request->get('type')) {
             case 'chapter':
-                $para = explode('-',$request->get('id'));
-                $prev = PaliText::where('book',$para[0])
-                                ->where('paragraph','<',$para[1])
-                                ->where('level','<',8)
-                                ->orderBy('paragraph','desc')
-                                ->first();
-                $next = PaliText::where('book',$para[0])
-                                ->where('paragraph','>',$para[1])
-                                ->where('level','<',8)
-                                ->orderBy('paragraph','asc')
-                                ->first();
-                if($prev){
+                $para = explode('-', $request->get('id'));
+                $prev = PaliText::where('book', $para[0])
+                    ->where('paragraph', '<', $para[1])
+                    ->where('level', '<', 8)
+                    ->orderBy('paragraph', 'desc')
+                    ->first();
+                $next = PaliText::where('book', $para[0])
+                    ->where('paragraph', '>', $para[1])
+                    ->where('level', '<', 8)
+                    ->orderBy('paragraph', 'asc')
+                    ->first();
+                if ($prev) {
                     $nav['prev']['id'] = $prev->book . '-' . $prev->paragraph;
                     $nav['prev']['title'] = $prev->toc;
                     $nav['prev']['subtitle'] = $prev->toc;
                 }
-                if($next){
+                if ($next) {
                     $nav['next']['id'] = $next->book . '-' . $next->paragraph;
                     $nav['next']['title'] = $next->toc;
                     $nav['next']['subtitle'] = $next->toc;
                 }
                 break;
             case 'para':
-                $para = explode('-',$request->get('id'));
-                $prev = PaliText::where('book',$para[0])
-                                ->where('paragraph','<',$para[1])
-                                ->orderBy('paragraph','desc')
-                                ->first();
-                $next = PaliText::where('book',$para[0])
-                                ->where('paragraph','>',$para[1])
-                                ->orderBy('paragraph','asc')
-                                ->first();
-                if($prev){
+                $para = explode('-', $request->get('id'));
+                $prev = PaliText::where('book', $para[0])
+                    ->where('paragraph', '<', $para[1])
+                    ->orderBy('paragraph', 'desc')
+                    ->first();
+                $next = PaliText::where('book', $para[0])
+                    ->where('paragraph', '>', $para[1])
+                    ->orderBy('paragraph', 'asc')
+                    ->first();
+                if ($prev) {
                     $nav['prev']['id'] = $prev->book . '-' . $prev->paragraph;
                     $nav['prev']['title'] = $prev->text;
                     $nav['prev']['subtitle'] = $prev->text;
                 }
-                if($next){
+                if ($next) {
                     $nav['next']['id'] = $next->book . '-' . $next->paragraph;
                     $nav['next']['title'] = $next->text;
                     $nav['next']['subtitle'] = $next->text;
@@ -65,8 +65,11 @@ class ArticleNavController extends Controller
                 return $this->error('type?');
                 break;
         }
-        return $this->ok(new ArticleNavResource($nav));
-
+        if (isset($nav)) {
+            return $this->ok(new ArticleNavResource($nav));
+        } else {
+            return $this->error('no nav data', 200, 200);
+        }
     }
 
     /**