Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 返回视图:未定义的变量Laravel_Php_Html_Sql_Laravel - Fatal编程技术网

Php 返回视图:未定义的变量Laravel

Php 返回视图:未定义的变量Laravel,php,html,sql,laravel,Php,Html,Sql,Laravel,ERORR未定义变量:列表 用户创建待售广告列表: $listing->user_id = auth()->user()->id; $listing->email= auth()->user()->email; $listing->phone_number= auth()->user()->phone_number; $listing->package = $request->session()-&

ERORR未定义变量:列表

用户创建待售广告列表:

    $listing->user_id = auth()->user()->id;
    $listing->email= auth()->user()->email;
    $listing->phone_number= auth()->user()->phone_number;
    $listing->package = $request->session()->get('package');
    $listing->save();
    return view('user.dashboard');
在他们被转移到仪表板页面之后

@if($listings->isEmpty())
<div class="padding-top"> 
    <h1 class="centre">None</h1>
</div>
@else

@endif

@foreach ($listings as $listing)

<div class="row">

  <div class="container">
    <div class="card">
      <div class="card-body row">
        <h5 class="card-title cardtitle col-lg-12 centre">{{$listing->address}}</h5>

您需要像这样将
$listing
传递给视图:

return view('user.dashboard', compact('listing');
$listings->user_id = auth()->user()->id;
$listings->email= auth()->user()->email;
$listings->phone_number= auth()->user()->phone_number;
$listings->package = $request->session()->get('package');
$listings->save();
return view('user.dashboard', compact('listings');
$listing = new Listings;
$listing->user_id = auth()->user()->id;
$listing->email= auth()->user()->email;
$listing->phone_number= auth()->user()->phone_number;
$listing->package = $request->session()->get('package');
$listing->save();
$listing->image1 = $fileNameToStore;
$listings = Listings::all();
return view('user.dashboard', compact('listings'));
编辑:

当然,变量在控制器和视图中的名称必须相同。现在,当您在控制器中将变量命名为
$listing
,但在视图中将其命名为
$listings
时,出现了不匹配。您的代码应该如下所示:

return view('user.dashboard', compact('listing');
$listings->user_id = auth()->user()->id;
$listings->email= auth()->user()->email;
$listings->phone_number= auth()->user()->phone_number;
$listings->package = $request->session()->get('package');
$listings->save();
return view('user.dashboard', compact('listings');
$listing = new Listings;
$listing->user_id = auth()->user()->id;
$listing->email= auth()->user()->email;
$listing->phone_number= auth()->user()->phone_number;
$listing->package = $request->session()->get('package');
$listing->save();
$listing->image1 = $fileNameToStore;
$listings = Listings::all();
return view('user.dashboard', compact('listings'));
然后可以在视图中调用变量
$listings
,这样视图代码就不必更改了

编辑2:

$listing
Listings
模型的一个实例。因此,不能对对象调用
empty()
方法。我想你想做这样的事情:

return view('user.dashboard', compact('listing');
$listings->user_id = auth()->user()->id;
$listings->email= auth()->user()->email;
$listings->phone_number= auth()->user()->phone_number;
$listings->package = $request->session()->get('package');
$listings->save();
return view('user.dashboard', compact('listings');
$listing = new Listings;
$listing->user_id = auth()->user()->id;
$listing->email= auth()->user()->email;
$listing->phone_number= auth()->user()->phone_number;
$listing->package = $request->session()->get('package');
$listing->save();
$listing->image1 = $fileNameToStore;
$listings = Listings::all();
return view('user.dashboard', compact('listings'));
这对你有用吗


Ps.保存后是否要设置
image1
属性?这将丢失。

您需要像这样将
$listing
传递到视图:

return view('user.dashboard', compact('listing');
$listings->user_id = auth()->user()->id;
$listings->email= auth()->user()->email;
$listings->phone_number= auth()->user()->phone_number;
$listings->package = $request->session()->get('package');
$listings->save();
return view('user.dashboard', compact('listings');
$listing = new Listings;
$listing->user_id = auth()->user()->id;
$listing->email= auth()->user()->email;
$listing->phone_number= auth()->user()->phone_number;
$listing->package = $request->session()->get('package');
$listing->save();
$listing->image1 = $fileNameToStore;
$listings = Listings::all();
return view('user.dashboard', compact('listings'));
编辑:

当然,变量在控制器和视图中的名称必须相同。现在,当您在控制器中将变量命名为
$listing
,但在视图中将其命名为
$listings
时,出现了不匹配。您的代码应该如下所示:

return view('user.dashboard', compact('listing');
$listings->user_id = auth()->user()->id;
$listings->email= auth()->user()->email;
$listings->phone_number= auth()->user()->phone_number;
$listings->package = $request->session()->get('package');
$listings->save();
return view('user.dashboard', compact('listings');
$listing = new Listings;
$listing->user_id = auth()->user()->id;
$listing->email= auth()->user()->email;
$listing->phone_number= auth()->user()->phone_number;
$listing->package = $request->session()->get('package');
$listing->save();
$listing->image1 = $fileNameToStore;
$listings = Listings::all();
return view('user.dashboard', compact('listings'));
然后可以在视图中调用变量
$listings
,这样视图代码就不必更改了

编辑2:

$listing
Listings
模型的一个实例。因此,不能对对象调用
empty()
方法。我想你想做这样的事情:

return view('user.dashboard', compact('listing');
$listings->user_id = auth()->user()->id;
$listings->email= auth()->user()->email;
$listings->phone_number= auth()->user()->phone_number;
$listings->package = $request->session()->get('package');
$listings->save();
return view('user.dashboard', compact('listings');
$listing = new Listings;
$listing->user_id = auth()->user()->id;
$listing->email= auth()->user()->email;
$listing->phone_number= auth()->user()->phone_number;
$listing->package = $request->session()->get('package');
$listing->save();
$listing->image1 = $fileNameToStore;
$listings = Listings::all();
return view('user.dashboard', compact('listings'));
这对你有用吗

Ps.保存后是否要设置
image1
属性?这将丢失。

更改

return view('user.dashboard');
进入

我认为原因很清楚。

改变

return view('user.dashboard');
进入


我认为原因很清楚。

我认为您没有使用名称空间在控制器中导入模型。 尝试使用“Use auth”命名空间进行检查

use App\Listing_Model;
use auth;

class DashboardController extends Controller {
    public function index() {


    $listing = new Listing_Model; 
    $listing->user_id = auth()->user()->id;
    $listing->email= auth()->user()->email;
    $listing->phone_number= auth()->user()->phone_number;
    $listing->package = $request->session()->get('package');
    $listing->save();
    return view('user.dashboard');

    }
}

我认为您没有使用名称空间在控制器中导入模型。 尝试使用“Use auth”命名空间进行检查

use App\Listing_Model;
use auth;

class DashboardController extends Controller {
    public function index() {


    $listing = new Listing_Model; 
    $listing->user_id = auth()->user()->id;
    $listing->email= auth()->user()->email;
    $listing->phone_number= auth()->user()->phone_number;
    $listing->package = $request->session()->get('package');
    $listing->save();
    return view('user.dashboard');

    }
}

在您的代码中,未向视图传递任何内容,在代码中未向视图传递任何内容,仍然获取未定义的变量:listingsMethod-Illumb\Database\Query\Builder::isEmpty不存在。我使用的是返回视图('user.dashboard',['listings'=>$listing]);您实际上做的比这里显示的要多,因为该错误与发布的代码和我的答案无关。添加的完整控制器直到获得未定义的变量:listingsMethod-Illumb\Database\Query\Builder::isEmpty不存在。我使用的是返回视图('user.dashboard',['listings'=>$listing]);您所做的比这里显示的要多,因为该错误与发布的代码和我的答案无关。添加了完整控制器直到获得未定义的变量:列表然后您可以这样做:
return view('user.dashboard',['listings'=>$listing])
但我建议您将控制器中的变量从
$listing
重命名为
$listings
。几乎不存在。现在,这可能是因为您没有
get()
结果之类的东西。我们需要你的控制器的完整方法来查看这里发生了什么。变量
$listings
看起来不像一个集合,因此您在这里做了一些其他错误。仍然获取未定义的变量:listings然后您可以这样做:
返回视图('user.dashboard',['listings'=>$listing])
但我建议您将控制器中的变量从
$listing
重命名为
$listings
。几乎不存在。现在,这可能是因为您没有
get()
结果之类的东西。我们需要你的控制器的完整方法来查看这里发生了什么。变量
$listings
看起来不像是一个集合,因此您在这里犯了一些其他错误。