2014-04-30 71 views
6

我是laravel开发的新生。 我使用mysql数据库,并且想要在数据库中插入原始数据。我加上了$table->binary()的专栏。我怎样才能将数据插入到列中。如何在laravel的mysql数据库中插入原始数据

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

http://laravel.com/docs/database –

+0

Laravel使用MVC范例。数据库应该通过模型进行更新。因此,通过用户提交的视图,让我们说一个新用户,控制器获取发布请求并将数据传递给模型,模型更新数据库。这不能回答你的问题,但会为你学习Laravel奠定基础。 – sidneydobber

回答

9

尝试这种情况:

假设有以下表(称为“用户”)

id|user|fname|lname|email|etc.. 
------------------------- 
1|jdoe|john|doe|[email protected]|blah.... 

DB::table('users')->insert(
    array('user' => 'jdoe', 
      'fname' => 'john', 
      'lname' => 'doe', 
      'email' => '[email protected]') 
); 

插入件()接受多个阵列(其进而可以被映射到各个列在你的桌子上)。

我希望这是你所需要的。

基于这个文档: http://laravel.com/docs/queries#inserts

+0

这应该是被接受的答案 –

1

你可能想看看滔滔不绝,Laravel使用默认ORM。它使数据库非常容易。有些人可能会有不同的想法,但这可以通过接口和存储库来解决。

Laravel使用MVC范例。数据库应该通过模型进行更新。因此,通过用户提交的视图,让我们说一个新用户,控制器获取发布请求并将数据传递给模型,模型更新数据库。

假设您将使用Laravel的默认用户模型。这个模型已经从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 = '[email protected]'; 
    $user->password = 'password'; 
    $user->save(); 
    return View::make('hello'); 
} 

如果你已经正确设置了数据库并且已经迁移了用户表,这应该可以工作,并且给你一个好的标准在Laravel中与数据库交互的关键点。这不是将数据添加到数据库的首选方式,因为此操作不应放置在控制器内部,但这将是下一步。我开始以这种方式学习Laravel,它确实有助于您正确理解框架。

PS:

DB::query('insert into users (username, email, password) values ("johndoe", "[email protected]", "password")'); 

这是非常不安全的,容易受到SQL注入,但Laravel提供解决方案,对于这一点,也为原始查询。