2016-04-14 9 views
0

я пытаюсь посылаемыми данные для просмотра из функции в контроллере, но переменных зрений не показывает никакого результатапеременное, показывающее нулевое значение в виде Laravel

public function goedit($id) 
{ 
    $catg = Category::where('cat_id',$id)->first(); 
    return view('product.gocatedit')->with('row', $catg); 
} 

и мой взгляд

@if(isset($row)) 

       <form action="{{action('[email protected]')}}" method="post"> 
        <input type="hidden" name="_token" value="{{ csrf_token() }}"> 
        <div class="col-sm-12"> 
        <h1 style="text-align:center;">Edit Items</h1> 
        <table class="table"> 
          <thead> 
          <tr> 
           <th>ID</th> 
           <th>Category</th> 
           <th>Item</th> 
           <th>Price</th> 
           <th></th> 
          </tr> 
          </thead> 
          <tbody> 
          <tr> 
           <input type="hidden" name="item_id" value="{{ $row->item_id}}"> 
           <td><input class="form-control" name="item_name" value="{{$row->item_name}}" /></td> 
           <td><input class="form-control" name="item_price" value="{{$row->item_price}}" /></td> 
           <td><input class="btn btn-primary btn-block btn-flat" type="submit" value="Edit"></td> 
          </tr> 
          </tbody> 

        </table> 
        </div> 
       </form> 
      @endif 

пожалуйста спасибо спасибо

+0

Пожалуйста, прочитайте это [ответ] (HTTP: // StackOverflow. ком/вопросы/20563166/красноречивым сбор подсчет-и-обнаружение пустого/20585483 # 20585483). Это должно помочь вам. –

ответ

0

Кажется, что вы возвращаете запрос null, вот в чем проблема (такого идентификатора в базе данных нет).

Если вы хотите, чтобы проверить null, используйте is_null:

@if(is_null($var)) 

Или, может быть, вы хотите использовать empty:

@if(!empty($row)) 
+0

no its not null bcoz if i var_dump ($ row) в функции показывает результат. – JohnB

+0

Не могли бы вы отправить результат 'dd ($ row);' пожалуйста? –

+0

пункт {# 228 ▼ #fillable: массив: 4 [▶] #primaryKey: "item_id" #connection: нуль #table: нулевой #perPage: 15 + увеличивающиеся: истинные + временные метки: истинный # атрибуты: массив: 6 [▼ "item_id" => "1" "item_name" => "китайский Noodls" "ITEM_PRICE" => "123" "cat_name" => "китайский" "created_at" => «2016-04-09 11:02:15» «updated_at» => «2016-04-14 06:37:54» ] #original: array: 6 [▶] #relations: [] # скрыто: [] #visible: [] #appends: [] #guarded: Массив: 1 [▶] #observables: [] #with: [] #morphClass: нулевая + существует: истинно + wasRecentlyCreated: ложные } – JohnB

0
public function goedit($id) 
{ 
    $catg = Category::where('cat_id',$id)->first(); 
    return view('product.gocatedit')->with('row', $catg); 
} 

практически должно быть:

public function goedit($id) 
{ 
    $catg = Category::findOrFail($id); 
    return view('product.gocatedit')->with('row', $catg); 
} 

и тогда кажется, что вы не используете по умолчанию первичного ключа, который является «идентификатором», поэтому в вашей модели добавить

public class Category{ 

      ................... 

      protected $primaryKey = "cat_id"; 
      ..................... 

} 
0

Если вы используете ->with('something', 'data'), то данные передаются будет в session('something') и это цель - «флеш» сообщения.

Вам это нужно (просматривать данные, как предполагается, будет принят как массив, а в качестве второго параметра функции view()):

public function goedit($id) 
{ 
    $catg = Category::where('cat_id',$id)->first(); 
    return view('product.gocatedit', ['row' => $catg]); 
} 
+0

спасибо, получив такой же результат – JohnB

Смежные вопросы