我正在尝试使用Laravel 5.4(我通常使用5.1)并且我实际上是复制大部分代码,所以我不明白是什么问题,也许是因为有更好的方法来做但是,已经1个小时了,我无法超越这个; 希望你能帮我这个.. 如果这还不够,我会发布我的观点和路线。谢谢大家。
这是我的模特:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $fillable = ['user_id', 'user_name', 'user_birthday'];
public static $rules = [
'user_name' => 'required|max:255',
'user_birthday' => 'required'
];
public $timestamps = false;
}
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
class UsersController extends Controller
{
public function index()
{
$users = User::with('user_id')->orderBy('user_id', 'ASC')->paginate(10);
return view('admin.users.index')->with("user", $users);
}
public function create()
{
return view('admin.users.create');
}
public function store(Request $request)
{
$users = new User($request->all());
$users->save();
return redirect()->route('admin.users.index');
}
public function show($id)
{
$users = User::find($id);
}
public function edit($id)
{
$users = User::find($id);
return view('admin.users.edit')->with('user', $user);
}
public function update(Request $request, $id)
{
$users = User::find($id);
$users->user_name = $request->user_name;
$users->user_birthday = $request->user_birthday;
$users->save();
return redirect()->route('admin.users.index');
}
public function destroy($id)
{
$users = User::find($id);
$users->delete();
return redirect()->route('admin.users.index');
}
}
答案 0 :(得分:1)
您的错误来自以下代码行。在模型上使用with
时,要加载children relationships
或sub-models
。这就是为什么应用程序正在寻找用户模型中的关系user_id
,认为它是sub-model
的{{1}},但它不是,所以它返回一个错误。
User model
$users = User::with('user_id')->orderBy('user_id', 'ASC')->paginate(10);