gpt4 book ai didi

php - Eloquent 存储表单数据

转载 作者:行者123 更新时间:2023-11-30 00:31:06 24 4
gpt4 key购买 nike

我目前正在 Laravel 4 中开发一个 Web 应用程序。该应用程序的本质是将表单数据存储在数据库中。

我的主要问题是由于表单输入框中的名称不同而在例程表中存储不同的值,因为我只有一个值字段并通过 id 将该值与指定的任务链接在一起。我还没有找到一种方法来有效地在例程中每个字段存储一行。

数据库看起来像这样(忽略 Arduino 和 Endringslogg):

Database model diagram

HverTimeController.php:

class HverTimeController extends BaseController

{
public $restful = true;

public function getHvertime()
{
return View::make('hvertime')
->with('title', 'Hvert Time');
}

public function postInsert()
{


//insert logic

return Redirect::route('hvertime')
->with('message', 'Lagret i databasen!');


}
}

路线.php

Route::get('bassengweb/hvertime', array('as' => 'hvertime', 'uses' => HverTimeController@getHvertime'));
Route::post('bassengweb/insertHT', array('uses' => 'HverTimeController@postInsert'));

Eloquent 模型(尽管上图中的名称是挪威语,但我已在数据库中将它们更改为英语,如下面的代码所示)

Emp.php(图中的 Ansatt)

class Emp extends Eloquent
{
protected $table = 'emps';
protected $fillable = array(
'user_name', 'first_name',
'last_name', 'email',
'password', 'user_type');

public function routines()
{
$this->hasMany('Routine', 'emp_id', 'id');
}
}

Routine.php(图中为 Rutiner)

class Routine extends Eloquent
{
protected $table = 'routines';
protected $fillable = array('date', 'time', 'value', 'emp_id');

public function emps()
{
$this->belongsTo('Emp', 'emp_id', 'id');
}

public function tasks()
{
$this->belongsToMany('Task', 'task_routine', 'routine_id', 'task_id');
}

public function measurements()
{
$this->belongsToMany('Measurement', 'measure_routine', 'routine_id', 'measure_id');
}
}

Measurement.php(图中的 Målinger 表)

class Measurement extends Eloquent
{
protected $table = 'measurements';
protected $fillable = array('title');

public function routines()
{
$this->belongsToMany('Routine', 'measure_routine');
}
}

Task.php(图中的 Oppgaver 表)

class Task extends Eloquent
{
protected $table = 'tasks';
protected $fillable = array('title');

public function routines()
{
$this->belongsToMany('Routine', 'task_routine', 'task_id', 'routine_id');
}
}

hvertime.blade.php

@extends('layouts.default')

@section('content')

<h1>HVER TIME</h1>

@if($errors->has())
<ul>
{{ $errors->first('badendeTime', '<li>:message</li>') }}
{{ $errors->first('temp', '<li>:message</li>') }}
</ul>
@endif

{{ Form::open(array('url' => 'bassengweb/insertHT', 'method' => 'POST')) }}
<table>
<tr>
<td>{{ Form::label('badendeTime', 'Badende per Time:') }}</td>
<td>{{ Form::text('badendeTime', Input::old('badendeTime')) }}</td>
</tr>

<tr>
<td>{{ Form::label('temp', 'Temperatur:') }}</td>
<td>{{ Form::text('temp', Input::old('temp')) }}</td>
</tr>

<tr>
<td><hr/></td>
<td>{{ Form::submit('Lagre') }}</td>
</tr>
</table>
{{ Form::close() }}
@stop

非常感谢任何帮助,谢谢!

最佳答案

分析这些关系

Oppgaver x OppgaverRutiner x Rutiner

Oppgaver (hasMany) OppgaverRutiner and 
Rutiner (hasMany) OppgaverRutiner too

所以相反

OppgaverRutiner (belongsTo) Oppgaver
OppgaverRutiner (belongsTo) Rutiner

安萨特 x Rutiner

Ansatt (hasMany) Rutiner

所以相反

Rutiner (belongsTo) Ansatt 

Malinger x MalingerRutiner x Rutiner

MalingerRutiner 表中缺少 Rutiner 表的外键!!!!!

Malinger (hasMany) MalingerRutiner and
Rutiner (hasMany) MalingerRutiner too

相反

MalingerRutiner (belongsTo)  Malinger
MalingerRutiner (belongsTo) Rutiner

Basseng x MalingerRutiner

Basseng (hasMany) MalingerRutiner

相反

MalingerRutiner (belongsTo)  Basseng

你的模型中有这个逻辑吗?

关于php - Eloquent 存储表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22510899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com