簡體   English   中英

如何在laravel的mysql數據庫中插入原始數據

[英]How to insert raw data in mysql database in laravel

我是laravel開發的大一新生。 我用的是mysql數據庫,想在數據庫中插入原始數據。 我用$table->binary()添加列。 以及如何將數據插入到列中。

Schema::table('users', function($table)
{
    $table->binary('raw');
});

嘗試這個:

假設您有以下表(稱為“用戶”)

id|user|fname|lname|email|etc..
-------------------------
1|jdoe|john|doe|jdoe@example.com|blah....

DB::table('users')->insert(
    array('user' => 'jdoe',
          'fname' => 'john',
          'lname' => 'doe',
          'email' => 'jdoe@example.com')
);

insert() 接受多個數組(依次可以映射到表中的各個列)。

我希望這是你所需要的。

基於此文檔: http : //laravel.com/docs/queries#inserts

你可能想看看 Eloquent,Laravel 使用的默認 ORM。 它使數據庫變得非常容易。 有些人可能會有不同的想法,但這可以通過接口和存儲庫來解決。

Laravel 使用 MVC 范式。 數據庫應該通過模型更新。 因此,通過用戶提交的視圖,假設是一個新用戶,控制器獲取發布請求並將數據傳遞給模型,然后模型更新數據庫。

因此,假設您將使用 Laravel 默認的 User 模型。 該模型已經從 Eloquent 擴展而來。 您應該已經有一個數據庫:

用戶表數據庫

id, auto_increment
username, varchar(255)
password, varchar(255)
email, varchar(255)
created_at (datetime)
updated_at (datetime)

應用程序/模型/User.php

class User extends Eloquent implements UserInterface, RemindableInterface {

應用程序/控制器/HomeController.php

public function showWelcome()
{
   $user = new User;
   $user->username = 'johndoe';
   $user->email = 'john@johndoe.com';
   $user->password = 'password';
   $user->save();
   return View::make('hello');
}

如果您正確設置了數據庫並遷移了 User 表,這應該可以工作,並為您與 Laravel 中的數據庫進行交互提供了一個很好的起點。 這不是將數據添加到數據庫的首選方式,因為此操作不應放置在控制器內部,但這將是下一步。 我開始以這種方式學習 Laravel,它確實可以幫助您正確理解框架。

PS:

DB::query('insert into users (username, email, password) values ("johndoe", "john@johndoe.com", "password")');

這是非常不安全的並且容易受到 SQL 注入的影響,但 Laravel 提供了解決方案,也適用於原始查詢。

您可以將這種方式用於原始插入(我在 laravel/Lumen 8 上對此進行了測試):

DB::insert('insert into users (email, votes) values (?, ?)', ['john@example.com', '0']);

如果你想部分原始查詢,你可以這樣做

DB::('table')
->insert([
   'id'=>1,
   'date'=>DB::raw('CURDATE()')
]);

暫無
暫無

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

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