簡體   English   中英

如何填充編輯表單(一對多關系Laravel)

[英]How to populate edit form (one to many relationship laravel)

我有一種將數據添加到兩個不同表(文章和交易)的表格。 文章有很多交易。 交易只有一條。 我不知道如何用Deals表中的數據填充編輯表單。 我知道我做錯了,但此刻它只是用長長的數組填充編輯表單。 我想我需要更改Articles Controller和form value變量。 目前,每個交易日我只有$ deal。

我正在使用Laravel 5。

文章表具有:ID,標題,圖像,描述,地址。 Deals表具有:id,dealname,article_id,dayID。

形成:

{!! Form::model($article, ['route' => ['articleUpdate_path', $article->id], 'files' => true, 'method' => 'PATCH']) !!}

    {!! Form::label('title','TITLE') !!}
    {!! Form::text('title', null, ['class' => 'form-control']) !!}
    {!! $errors->first('title','<p class="error">:message</p>')!!}

    {!! Form::label('image','PHOTO') !!}
    {!! Form::file('image', null, ['class' => 'form-control']) !!}

    {!! Form::label('description','DESCRIPTION') !!}
    {!! Form::textarea('description', null, ['class' => 'form-control']) !!}

    {!! Form::label('dealname','Monday') !!}
    {!! Form::text('dealname[]', $deals, null, ['class' => 'form-control']) !!}

    {!! Form::label('dealname','Tuesday') !!}
    {!! Form::text('dealname[]', $deals, null, ['class' => 'form-control']) !!}

    {!! Form::label('dealname','Wednesday') !!}
    {!! Form::text('dealname[]', $deals,null, ['class' => 'form-control']) !!}

    {!! Form::label('address','ADDRESS') !!}
    {!! Form::text('address', null, ['class' => 'form-control']) !!}

    {!! Form::close() !!}

物品控制器

public function edit($id)
{
    $article = Article::find($id);
    $deals = Deal::lists('dealname');
    return view('articles.edit', compact('article', 'deals'));
}

文章模型

class Article extends Model
{
    public function deals()
    {
        return $this->hasMany('App\Deal');
    }  
protected $fillable = array('title', 'photo', 'description', 'address'); 
}

交易模型

class Deal extends Model
{
    public function articles()
    {
        return $this->belongsTo('App\Article')->withTimestamps();
    }
    protected $fillable = array('dealname', 'article_id', 'dayID'); 
}

從Laravel 5-查詢生成器文檔中:

$ roles = DB :: table('roles')-> lists('title');

此方法將返回角色標題數組。

由於您只是返回$ deals變量,因此您的輸出將是上述返回的數組。

為了輸出單個交易,您應該在視圖內使用“ foreach”循環來輸出每個交易的特定變量(如QuickDanger在其評論中所述)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM