Php laravel 5-创建一个新的;“东西”;在控制器方法中

Php laravel 5-创建一个新的;“东西”;在控制器方法中,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我在这里看这个教程: 但我不是盲目地遵循它,而是努力使它与我的需求相关。我遇到了一个问题。我正在查看以下代码: /** * Create a new task. * * @param Request $request * @return Response */ public function store(Request $request) { $this->validate($request, [ 'name' => 'required|max

我在这里看这个教程:

但我不是盲目地遵循它,而是努力使它与我的需求相关。我遇到了一个问题。我正在查看以下代码:

/**
 * Create a new task.
 *
 * @param  Request  $request
 * @return Response
 */
public function store(Request $request)
{
    $this->validate($request, [
        'name' => 'required|max:255',
    ]);

    $request->user()->tasks()->create([
        'name' => $request->name,
    ]);

    return redirect('/tasks');
}
嗯。所以在我的应用程序中,我想创建一个国家。没有与之关联的用户,它只是一个将国家名称发布到该路线的表单。我的表单通过了验证,如果我使用以下代码,我可以将新的国家/地区记录保存到我的数据库中:

如果我替换

$request->user()->tasks()->create([
        'name' => $request->name,
    ]);

$country = new Country;
$country ->name = $request->name;
$country ->save();
…这样就行了。不过我真的不想要这个

我想做的是使用类似于教程中的代码。 谁能告诉我该怎么办

我尝试了一些不同的猜测,但没有运气。他们就是那样的人。猜测

谢谢


DS

您在教程中看到的代码可以概括为“为给定用户创建任务”。可以按照教程中的方式创建任务对象,因为用户任务模型之间存在关系集-请参见用户类中的任务()方法。这就是为什么如果$user存储了类user的对象,可以调用$user->tasks()->create()-结果将创建类Task的对象并自动链接到该用户


如果您想以相同的方式创建类别为国家的对象,则需要在国家和用户之间定义一种关系-但是,在任务(用户有自己的任务)的情况下,这种关系是有意义的,但在您的应用程序中听起来并不像您想要的那样(用户有自己的国家?).

Hi@jedrzej-谢谢你的评论。是的,环顾四周之后,我意识到似乎没有比:$country=country::create($request->only('name'))更好的方法了;这很适合我的需要。感谢您花时间发布您的想法。