我想在我的视图页面上显示保存在数据库中的内容。我已经应用了用户和帐户之间的关系。
我在用户和帖子之间有另一种关系,它正常运作。
我得到的错误是:
0401a2c6f4dbf412d9f16ba1e4ced9e54c8bb622.php第132行中的ErrorException: 未定义的变量:accounts(查看:E:\ wamp \ www \ gal \ resources \ views \ myplace.blade.php)
我的观看代码:
<form action="{{route('account')}}" id="acc" method="post">
<div class="col-lg-3"><label>Estado</label>
@foreach($accounts as $account)
<textarea style="display:none;" name="textfield4" id="textfield4">{{$account->estado}}</textarea></div>
<div class="col-lg-2 es" id="estado"></div>
@endforeach
我的控制员:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\User;
use App\Account;
use Illuminate\Support\Facades\Auth;
class AccountController extends Controller
{
public function account(Request $request)
{
$account = new Account();
$account->estado = $request['textfield4'];
$request->user()->accounts()->save($account);
return redirect()->route('myplace');
}
public function getaccount()
{
User::find(Auth::id())->accounts;
$accounts = Account::orderBy('created_at','desc')->get();
return view('myplace',['accounts'=>$accounts]);
}
}
答案 0 :(得分:0)
而不是:
return view('myplace',['accounts'=>$accounts]);
您可以在Controller中使用compact:
return view('myplace')->with(compact('accounts'));
答案 1 :(得分:0)
鉴于此代码......
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\User;
use App\Account;
use Illuminate\Support\Facades\Auth;
class AccountController extends Controller
{
public function account(Request $request)
{
$account = new Account();
$account->estado = $request['textfield4'];
$request->user()->accounts()->save($account);
return redirect()->route('myplace');
}
public function getaccount()
{
User::find(Auth::id())->accounts;
$accounts = Account::orderBy('created_at','desc')->get();
return view('myplace',['accounts'=>$accounts]);
}
}
$account->estado = $request['textfield4'];
应为$account->estado = $request->input('textfield4', 'some_default_value');
User::find(Auth::id())->accounts;
几乎没有任何内容,因为您不保存结果,$accounts = Account::orderBy('created_at','desc')->get();
正在对所有帐户进行排序。
关于如何使用orderBy显示您的任何帐户可能是由于没有任何关于选择内容或条件的查询。默认值可能有所帮助,但如果你有一些时髦的东西,它可能会被打破。如果没有更多代码,我们就无能为力。
我对此有另一种猜测,return view('myplace',['accounts'=>$accounts]);
应为return view()->make('myplace',['accounts'=>$accounts]);
编辑:
他的问题是他正在导航到/ myplace,它没有路由到getaccount()它路由到getmyplace(),它没有传递$ accounts变量。