2017-10-18 73 views
0

我是Laravel的新手。我在將數據存儲到數據庫時遇到問題。我有這樣的實例:Laravel - 如何將函數的返回存儲到數據庫?

create.blade.php

{!! Form::open(['action' => '[email protected]', 'method' => 'POST']) !!} 
    <div class="form-group"> 
     {{Form::label('url', 'URL')}} 
     {{Form::text('url', '', ['class' => 'form-control', 'placeholder' => 'URL'])}} 
    </div> 
    {{lol()}} 
    {{Form::submit('Submit', ['class'=>'btn btn-primary'])}} 
    {!! Form::close() !!} 

WebsitesController.php

public function store(Request $request) 
    { 
     $this->validate($request, [ 
     'url' => 'required' 
     ]); 

     $website = new Website; 
     $website->path = $request->input('url'); 
     $website->user_id = auth()->user()->id; 
     $website->save(); 
    } 

這工作。現在我希望不要從輸入中獲取url以從函數中獲取它。假設我有這樣的功能:

function testurl(){ 
    return "http://test.com/"; 
} 

我在哪裏放我的功能代碼?我如何獲得$ website->路徑來存儲該函數的返回值?

謝謝。

回答

0

可以在控制器定義功能像

public function testUrl(){ 
    return "http://test.com/"; 
    } 

,如果你是在同一個控制器調用它,你可以做

$url = $this->testUrl(); 

,如果你是從其他控制器打電話,你可以做

$url = $yourController->testUrl(); 

然後,您可以直接設置

$website->path=$url 
+0

謝謝。還有一個問題。爲什麼我需要網站模型? –

+0

Laravel附帶的Eloquent ORM爲您的數據庫提供了一個簡單的ActiveRecord實現。每個數據庫表都有一個對應的「模型」,用於與該表進行交互。模型允許您查詢表中的數據,並將新記錄插入表中。 –

+0

@AarifAslam,只是分享一個良好的做法。使這個'testUrl'方法'私人'。 –

0

Website()是你的模型。您可以將您的功能存儲在模型中。所以你可以直接從模型中調用它。

+0

您應該發佈樣本/僞代碼 –

相關問題