更新时间:2023-12-31 17:20:14
你们好,最近小艾特发现有诸多的小伙伴们对于laravel框架面试题,laravel框架这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、首先说说laravel框架的安装,这里我使用的是composer进行安装,如果对安装有疑惑的话, 请自己解决.
2、 composer create-project --prefer-dist laravel/laravel laravel
3、其次配置数据库连接信息,对应的文件在
4、 /Users/maogou/work/laravel/.env
5、然后把对应的数据库用户名,密码,数据库等信息填写正确
6、生成对应的控制器和Model文件
7、 php artisan make:controller DemoController
8、 #加-m表示同时生成数据库迁移文件
9、 php artisan make:model Models/Demo -m
10、设计对应的表字段, 这里我只是演示数据填充的使用,所以尽量多的使用多的字段的使用来演示.编辑对应的数据库迁移文件
11、<?php
12、use Illuminate\Support\Facades\Schema;
13、use Illuminate\Database\Schema\Blueprint;
14、use Illuminate\Database\Migrations\Migration;
15、class CreateDemosTable extends Migration
16、{
17、 /**
18、 * Run the migrations.
19、 *
20、 * @return void
21、 */
22、 public function up()
23、 {
24、 Schema::create('demos', function (Blueprint $table) {
25、 $table->increments('id');
26、 $table->string('name');
27、 $table->integer('age');
28、 $table->string('password');
29、 $table->string('img');
30、 $table->string('mobile');
31、 $table->string('bank');
32、 $table->string('address');
33、 $table->string('century');
34、 $table->string('city');
35、 $table->string('chrome');
36、 $table->string('country');
37、 $table->string('companyEmail');
38、 $table->string('email');
39、 $table->string('countryCode');
40、 $table->string('citySuffix');
41、 $table->string('creditCardNumber');
42、 $table->string('creditCardDetails');
43、 $table->string('date');
44、 $table->string('domainName');
45、 $table->string('firstName');
46、 $table->string('internetExplorer');
47、 $table->string('word');
48、 $table->string('words');
49、 $table->string('userAgent');
50、 $table->string('unixTime');
51、 $table->string('streetAddress');
52、 $table->string('title');
53、 $table->string('slug');
54、 $table->string('swiftBicNumber');
55、 $table->string('windowsPlatformToken');
56、 $table->string('sha1');
57、 $table->string('sha256');
58、 $table->string('shuffle');
59、 $table->string('safeEmail');
60、 $table->string('safeHexColor');
61、 $table->string('rgbCssColor');
62、 $table->string('safari');
63、 $table->string('ipv4');
64、 $table->string('localIpv4');
65、 $table->string('macAddress');
66、 $table->string('url');
67、 $table->string('monthName');
68、 $table->longText('content');
69、 $table->smallInteger('status');
70、 $table->timestamps();
71、 });
72、 }
73、 /**
74、 * Reverse the migrations.
75、 *
76、 * @return void
77、 */
78、 public function down()
79、 {
80、 //
81、 Schema::drop('demos');
82、 }
83、}
84、修改对应的Model,填写对应的可填充字段和非可填充字段等
85、<?php
86、namespace App\Models;
87、use Illuminate\Database\Eloquent\Model;
88、use Illuminate\Support\Facades\DB;
89、class Demo extends Model
90、{
91、 //数据表的名字
92、 protected $table = 'demos';
93、 //使用create_at和update_at字段
94、 public $timestamps = true;
95、 //可以填充的字段
96、 protected $fillable = [
97、 'name',
98、 'age',
99、 'password',
100、 'img',
101、 'mobile',
102、 'bank',
103、 'address',
104、 'century',
105、 'city',
106、 'chrome',
107、 'country',
108、 'companyEmail',
109、 'email',
110、 'countryCode',
111、 'citySuffix',
112、 'creditCardNumber',
113、 'creditCardDetails',
114、 'date',
115、 'domainName',
116、 'firstName',
117、 'internetExplorer',
118、 'word',
119、 'words',
120、 'userAgent',
121、 'unixTime',
122、 'streetAddress',
123、 'title',
124、 'slug',
125、 'swiftBicNumber',
126、 'windowsPlatformToken',
127、 'sha1',
128、 'sha256',
129、 'shuffle',
130、 'safeEmail',
131、 'safeHexColor',
132、 'rgbCssColor',
133、 'safari',
134、 'ipv4',
135、 'localIpv4',
136、 'macAddress',
137、 'url',
138、 'monthName',
139、 'content',
140、 'status',
141、 ];
142、 //受保护的字段-这个字段不可写入
143、 protected $guarded = ['id'];
144、}
145、修改数据填充工厂文件(我习惯这样叫)对应文件在
146、/Users/maogou/work/laravel/database/factories/ModelFactory.php
147、然后把数据填充文件中的User填充范例复制一份如下$factory->define(App\Models\Demo::class, function (Faker\Generator $faker) {
148、 return [
149、 'name' => $faker->name,
150、 'age' => $faker->numberBetween(15,90),
151、 'password'=>str_random(6),
152、 'img'=>$faker->imageUrl(),
153、 'mobile' => $faker->phoneNumber,
154、 'bank'=>$faker->bank,
155、 'address'=>$faker->address,
156、 'century'=>$faker->century,
157、 'city'=>$faker->city,
158、 'chrome'=>$faker->chrome,
159、 'country'=>$faker->country,
160、 'companyEmail'=>$faker->companyEmail,
161、 'email'=>$faker->email,
162、 'countryCode'=>$faker->countryCode,
163、 'citySuffix'=>$faker->citySuffix,
164、 'creditCardNumber'=>$faker->creditCardNumber,
165、 'creditCardDetails'=>json_encode($faker->creditCardDetails),
166、 'date'=>$faker->date('Y-m-d H:i:s','now'),
167、 'domainName'=>$faker->domainName,
168、 'firstName'=>$faker->firstName,
169、 'internetExplorer'=>$faker->internetExplorer,
170、 'word'=>$faker->word,
171、 'words'=>$faker->words(5,true),
172、 'userAgent'=>$faker->userAgent,
173、 'unixTime'=>$faker->unixTime,
174、 'streetAddress'=>$faker->streetAddress,
175、 'title'=>$faker->sentence,
176、 'slug'=>$faker->slug(20,false),
177、 'swiftBicNumber'=>$faker->swiftBicNumber,
178、 'windowsPlatformToken'=>$faker->windowsPlatformToken,
179、 'sha1'=>$faker->sha1,
180、 'sha256'=>$faker->sha256,
181、 'shuffle'=>$faker->shuffle('abcdefghijklmnopqrst'),
182、 'safeEmail'=>$faker->safeEmail,
183、 'safeHexColor'=>$faker->safeHexColor,
184、 'rgbCssColor'=>$faker->rgbCssColor,
185、 'safari'=>$faker->safari,
186、 'ipv4'=>$faker->ipv4,
187、 'localIpv4'=>$faker->localIpv4,
188、 'macAddress'=>$faker->macAddress,
189、 'url'=>$faker->url,
190、 'monthName'=>$faker->monthName,
191、 'content'=>$faker->text(500),
192、 'status' => random_int(0,1),
193、 ];
194、});
195、执行数据库迁移生成对应的数据库表
196、 php artisan migrate
197、然后我们去artisan的交互控制台去执行对应的命令,在这个交互控制台你可以执行任何合法的php代码,包括laravel里面的代码
198、 1.修改
199、 /Users/maogou/work/laravel/vendor/fzaninotto/faker/src/Faker/Factory.php
200、 的为const DEFAULT_LOCALE = 'en_US';
201、 const DEFAULT_LOCALE = 'zh_CN';
202、 2. 复制
203、 /Users/maogou/work/laravel/vendor/fzaninotto/faker/src/Faker/Provider/en_US/Text.php
204、 到zh_CN目录下
205、 3. 并把对应的命名空间的名称修改为namespace Faker\Provider\zh_CN;
206、 php artisan tinker
207、 factory(App\Models\Demo::class,50)->create();
208、 4.查看数据库已经生成了对应的50条测试数据
209、问题总结, 如果你用的是Laravel的5.3的版本, 想要插入中文的测试数据,会发生如下的报错信息, 解决方法参考第六步.
以上就是laravel框架这篇文章的一些介绍,希望对大家有所帮助。