项目环境配置和用户表设计
打赏作者

Oran

开发知乎。这个牛。mark一下。等多更新几集后来观摩学习。

linbaby 回复 Oran

这是VUE脚手架开发的?

墨生人

前排留名,跟随大神脚步前进

messikiller

求速更,求速更~

尼好再见

持续关注,希望能在这个系列中学到一些新的技巧!

zyzplzyz

我想问下为什么要把app目录改成Source root?

JellyBool 回复 zyzplzyz

这样的话,在 pgpstorm 中,你在 app 目录下创建新的文件夹或者 php 文件的时候,只要符合 psr-4 的标准,phpstorm 就会自动加上命名空间

zyzplzyz 回复 JellyBool

谢谢,指点,学习了

328333982 回复 zyzplzyz

问一下问一下

sun-gimi 回复 328333982

5235243524352345235

JellyBool 回复 sun-gimi

这种评论就不要了吧。

328333982 回复 zyzplzyz

问一下问一下问一下

kunsect7

Jelly 最近更新速度可以阿

anyshioz

你好,请问用laravel在构建用户登陆模块,session->put(‘username’,$user->username);然后dd(session()-all());有内容但是没有_token,url,等信息,然后以文件驱动的session,在storage/framework/session里面也没有写如信息,请问如何解决呢?(也就是我死活判断不了用户是否登陆了,获取不到登陆用户的session信息,如何解决呢?)

sean90

前端使用的是vue吗

YVEND

听起来是如此的吊

mostwin

吊的很啊!!

richiekingli

settings字段应该为nullable吧

JellyBool 回复 richiekingli

嗯哼,视频中不是么?

我看了一下,貌似视频中拼写错了。You are right !

richiekingli 回复 JellyBool

希望新手看视频的时候能看下下面的评论,或者自己debug

Nixus 回复 richiekingli

如果有定点弹幕的话,应该就可以了
比如,在看视频的时候,这个地方拼错了,马上就有一条弹幕出来,提示此处的错误

JellyBool 回复 Nixus

定点弹幕,这个实在还没想过怎么实现

328333982 回复 JellyBool

有一个问题想请教一下,可以吗?

JellyBool 回复 328333982

你就在这里问呗。。。。。

328333982 回复 JellyBool

你这个评论怎么做分级的?还有就是我点发表回复后,怎么实现不刷新就可以看到我评论的内容的?谢谢!

JellyBool 回复 328333982

递归做分级,ajax 无刷新

328333982 回复 JellyBool

递归做分级有没有好一点的资料或者例子可以看一下呢?哈哈

JellyBool 回复 328333982

我这边好像没有,看看后面会不会出

328333982 回复 JellyBool

好的,谢谢JB,哈哈

laravel0304
laravel new zhihu-app

请问这命令是 oh-my-zsh 的插件?
我是新会员,以前的视频还没有看,希望以后的课程能对这样类似的知识点做一下简单的介绍,或者在课程介绍里列清楚也行,要不然会有很多困惑。

HectorChan 回复 laravel0304

不是插件,你要是用的oh-my-zsh的话,安装一个laravel,然后把设置一个环境变量就可以了!!
composer global require "laravel/installer=~1.1"
sudo bash -c "echo ‘alias laravel=~/.composer/vendor/bin/laravel’ >> ~/.zshrc"
source ~/.zshrc

laravel0304

还有类似楼上兄台提及的 『Source root』问题。

JellyBool 回复 laravel0304

我觉得新手还是先看基础教程先吧,不然可能会遇到更多坑

https://laravist.com/series/laravel-5-basic

laravel0304

@JellyBool 你的这个PHPstorm主题 叫啥名字类?

laravel0304 回复 JellyBool

Yes ,就是这个主题,很棒。但是左侧的Tree你是怎么搞的,你这种文件夹图标很nice?装的插件么?
我按照PHPstorm视频装了 color ide插件,颜色是变过来了,但是图标的样式啊都是老的,跟你的UI不一样。-。-

laravel0304 回复 JellyBool

我找了一个Treed 的UI插件,叫Afterglow Theme 。现实效果没你的好,你的插件叫啥啊大神

JeaNile 回复 laravel0304

这个主题在PHPstorm中能用吗

JellyBool 回复 JeaNile

可以的,我就是用的这个

hard88

我的5.3无法通过migrate创建表,报SQLSTATE[42000]错误,通过create-project,composer create-project --prefer-dist laravel/laravel xx创建的项目,网上找了很多没有头绪,请教一下,谢谢

JellyBool 回复 hard88

具体的错误信息是什么?

hard88 回复 JellyBool

[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the r
ight syntax to use near 'json not null, remember_token varchar(100) null, created_at timestamp null, ’ at line 1 (SQL: create table users (id int unsigned not n
ull auto_increment primary key, name varchar(255) not null, email varchar(255) not null, password varchar(60) not null, avatar varchar(255) not null, confirmat ion_token varchar(255) not null, is_active smallint not null default ‘0’, questions_count int not null default ‘0’, answers_count int not null default ‘0’, comm ents_count int not null default ‘0’, favorites_count int not null default ‘0’, likes_count int not null default ‘0’, followers_count int not null default ‘0’, f ollowings_count int not null default ‘0’, settings json not null, remember_token varchar(100) null, created_at timestamp null, updated_at timestamp null) defau
lt character set utf8 collate utf8_unicode_ci)

[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the r
ight syntax to use near 'json not null, remember_token varchar(100) null, created_at timestamp null, ’ at line 1

JellyBool 回复 hard88

貌似是这个版本的 MariaDB 不支持 json() 这种吧。

hard88 回复 JellyBool

额,你用的什么版本, MariaDB版本怎么修改呢

hard88 回复 JellyBool

第一次我没注意用的5.1,是可以创建成功的,改了5.3就不行

JellyBool 回复 hard88

我刚刚看了一下:

This is a similar issue to having old MySQL versions. We made this change in 5.2. Either upgrade to a new version, or, just don’t use the json type in migrations. If you really want to use that in the migration, and want the old database version, you could stay on Laravel 5.1 LTS.

laravel 5.3 的时候,json() 有点不一样了,要么是升级到最新版本的 MariaDB ,要么使用 laravel 5.1 LTS。

我的是直接用的 mysql

hard88 回复 JellyBool

明白了,知乎这个也是为了同时学习5.3,目前我的MariaDB是10.1.9,更新到目前稳定版的10.1.19这样就可以了?

hard88 回复 JellyBool

因为之前5.1创建成功了,我新建的5.3直接引用了5.1创建的数据库,但是一直报错的形式是没有在User.php的filllable添加修改字段导致的error,一直说jason(‘settings’)的setting问题,所以想重新建表单,发现了这个问题

hard88 回复 JellyBool

想问下,我现在用的环境是laragon,mysql可以直接用mysql而不是mariadb么

JellyBool 回复 hard88

理论上是可以的。

hard88 回复 JellyBool

5.1是用的5.1.x-dev

bit世界风 回复 hard88

你的这个问题我也遇到了 我修改user 表 $table->integer(‘is_active’)->default(0); 就可以migrate

nanibigoo 回复 bit世界风

上面讨论的好像是la 5.3 mariadb没法用json 的问题。5.4版本也有这个问题

JellyBool 回复 nanibigoo

这个主要是看 mysql 的版本

nanibigoo 回复 JellyBool

因为使用的是xampp,自带mariadb,偷懒

y-s-y 回复 hard88

你把这个问题解决了吗?

JellyBool 回复 y-s-y

你先直接用 text 字段也是可以的

hard88 回复 y-s-y

当时已经解决了,就是使用mysql最新5.7版本就好了,mariadb最新版本不行,都试过了,就直接用mysql

yijiang

为什么我用的MYSQL还是跟他们报一样的错~laravel5.3

JellyBool 回复 yijiang

主要是看 Mysql 的版本吧:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 331
Server version: 5.7.12-0ubuntu1.1 (Ubuntu)

我这里使用的是这个,貌似这个需要 mysql 5.7 以上

Frank Wang 回复 JellyBool

Jelly,问一个配置Homestead的问题哈。我配置完成Homestead之后,vagrant ssh登陆之后在Homestead里面也能看到 /home/vagrant/Code 目录,但是本机在 ~/Code 建立的Laravel项目却没有同步过来(在Homestead的/home/vagrant/Code 下输入 ls 始终显示为空)请问这是为什么呢?

JellyBool 回复 Frank Wang

目前的信息来说,我看不出什么原因。基本上就是配置问题吧,配置贴出来看看?

Frank Wang 回复 JellyBool

这是Homestead.yaml文件的内容


ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
- ~/.ssh/id_rsa

folders:
- map: /Users/Major/Code
to: /home/vagrant/Code
type: “nfs”

sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public

databases:
- homestead

variables:
- key: APP_ENV
value: local

这是/etc/hosts内容

Host Database

localhost is used to configure the loopback interface

when the system is booting. Do not change this entry.

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost

192.168.10.10 homestead.app

JellyBool 回复 Frank Wang

你改一下这个 folder 的 map:

folders:
    - map: ~/Code
      to: /home/vagrant/Code

然后在 Homestead 的目录执行

vagrant reload --provision
Frank Wang 回复 JellyBool

改了,其实我之前Google之后就是按照这个来了一次,还是不行……崩溃了啊,按说ssh之后能够打开/home/vagrant/Code肯定挂载共享文件夹没有问题吧。

JellyBool 回复 Frank Wang

那这个就很尴尬了,这样的话,基本上我也看不出什么问题。重装吧

Frank Wang 回复 JellyBool

好吧,在这里卡了一晚上了……

John Howard

老大,json的我也报错了,有没有其他解决方案呢?

JellyBool 回复 John Howard

呀,这个问题没想到这么多人没有满足。其实直接升级一下 mysql 就可以了,或者直接用 homestead 作为开发环境就 OK。

实在不行的话,你就创建一个普通的 string column 吧。

John Howard 回复 JellyBool

试试string column

328333982 回复 John Howard

成功了 啦啦啦

cc0roby

###good

cc0roby

#我就试试mark文发

噼里啪啦小蛋哥

跟着来一遍,学点小技巧

skywing

为了这个项目,订阅了半年,很想学习下5.3的消息通知,之前5.1结合node的socket.io做的很麻烦!

JellyBool 回复 skywing

是指laravel 5.3 的 notification 么

skywing 回复 JellyBool

是的,不知道能不能实现实时通知的效果,对5.3不了解。。

JellyBool 回复 skywing

实时通知目前最好的解决方案我觉得还是 websocket,所以暂时来说,socket.io 貌似是逃不过的

skywing 回复 JellyBool

那notification有什么用啊。。

JellyBool 回复 skywing

就是做站内通知,但是还是不能实时通知的。

mikezhang

这些用户回答数,收藏数,等 应该分表吧 用的时候用关联模型查一下就好

JellyBool 回复 mikezhang

从我目前的经验来看,这个总数的数目,我觉得还是在一个字段好,不管是直接使用还是开放 API,都是比关联表好。

Levante

@JellyBool 請問本課程是用laravel 5.3版嗎?

JellyBool 回复 Levante

是的。5.3 版本,你最好也是用的这个版本

zddragon 回复 JellyBool

@JellyBool 你用的是哪个VPN?

JellyBool 回复 zddragon

我目前还是用的这个 http://gjsq.me/5072618

最近貌似改版了,貌似还行

jasester 回复 JellyBool

不可以单独购买某套教程吗?学生当是在没有太多的预付钱(:

JellyBool 回复 jasester

暂时没有这个选项

chenze007

签到 功能会讲到么 能给简单的说说么 现在的签到 高端大气上档次的 方法

leec

这个视频的laravel是哪个版本呀?

JellyBool 回复 leec

laravel 5.3 和 vuejs 2.0

leec 回复 JellyBool

好的。那我也按照这个版本跟着学。

JellyBool 回复 leec

嗯哼,这个就非常好

beaplat-61f

视频里有用到webpack跟热加载吗,比较关注这个

JellyBool 回复 beaplat-61f

你应该先看看这个,就不会有疑虑了

https://www.laravist.com/series/vue-js-2-0-series

beaplat-61f 回复 JellyBool

只有第一个视频免费。。打算充值学习,每个系列的视频可以第一个免费,介绍一下教程大概。。

bin912137678

大哥,请问一下安装Homestead运行init.bat他不是要复制三个文件吗?文档上说会自动复制到用户的跟目录下,但是我Windows10系统的用户跟没有.homestead这个文件。但运行init.bat他又说复制成功,那么请问这个目录在哪里昵,我是直接改homestead里面的.yml文件,文件没有同步过去,救解答,已经重装过N次了

JellyBool 回复 bin912137678

你看看这个,一个完整的 windows 10 安装 homestead 的教程:

https://medium.com/@eaimanshoshi/i-am-going-to-write-down-step-by-step-procedure-to-setup-homestead-for-laravel-5-2-17491a423aa#.8ittl5j9y

找个梯子

27631022

到底是nullable 还是 nullabel 你的视频我定格看了 还是nullabel啊

JellyBool 回复 27631022

nullable,视频写错了

27631022 回复 JellyBool

[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
oo long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))
这个max key 767是个啥,

JellyBool 回复 27631022

在 Providers 目录下的 AppServiceProvider.php 添加:

use Illuminate\Support\Facades\Schema; // 记得 use 这个

public function boot()
{
    Schema::defaultStringLength(191);
}
妖靥的单纯

大神老师啊,想请教个问题,非父子组件之间怎么通信,用的是vue-cli开发的,真切的希望你能看到的问题,谢谢大神

妖靥的单纯 回复 JellyBool

我刚才了解到我的问题出在那里了,我的情况只能用vuex,不能用$on来解决,之前试了你说的这个没管用,就来问你了,还以为是我写错了,嘿嘿,谢谢你

oyghan

老师,这视频能下载学习吗?

Psychic_role

安装homestead的时候vagrant box add laravel/homestead后让我选择虚拟机,我已经安装好virtualbox,现在又要下载一个870MB的软件,挂vpn速度都不行怎么办呢

C:\Program Files (x86)\HashiCorp\Vagrant>vagrant box add laravel/homestead
==> box: Loading metadata for box 'laravel/homestead’
box: URL: https://atlas.hashicorp.com/laravel/homestead
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

  1. hyperv
  2. parallels
  3. virtualbox
  4. vmware_desktop

Enter your choice: 3
==> box: Adding box ‘laravel/homestead’ (v2.0.0) for provider: virtualbox
box: Downloading: https://atlas.hashicorp.com/laravel/boxes/homestead/versions/2.0.0/providers/virtualbox.box
==> box: Box download is resuming from prior download progress
box: Progress: 0% (Rate: 6876/s, Estimated time remaining: 50:33:17))9

JellyBool 回复 Psychic_role

homestead 这个 box 就差不多 870MB 这么大。

homestead 就是一个完整的虚拟机啊。

Psychic_role 回复 JellyBool

我试了好几种方式,比如开vpn啊,下载到国外的vps啊,换别的线路转百度云或者迅雷会员,想弄到本地电脑现在花了2个小时了还没搞定,现在在下载别人一个老版本的box,也不清楚是哪个版本。laracast分享的一个1.2G的homestead.box

JellyBool 回复 Psychic_role

凌晨两点左右,下载速度超快

Psychic_role 回复 JellyBool

vagrant box add laravel/homestead /workspace/virtualBox.box
这条命令输入完,virtualBox这款软件的界面上看不到我导入的这个虚拟机
virtualBox是5.1.18版本,是软件版本太新识别不了还是别的?
cmd 消息
The box you’re attempting to add already exists. Remove it before
adding it again or add it with the --force flag.

也就是我这个实际导入了,只是显示不出来?

JellyBool 回复 Psychic_role

vagrant box list
这样就可以看到你的 box 了。

你照着这个文档看一下:https://laravel.com/docs/5.4/homestead#first-steps

上面的操作步骤

Psychic_role 回复 JellyBool

教程没写要在git bash里打开ssh-keygen
ssh-keygen -t rsa -C "you@homestead"
哎呀好气呀,花了一天时间折腾这个了

JellyBool 回复 Psychic_role

额,你的是什么操作系统?你对 git 和 ssh 是什么样程度的了解?

Psychic_role 回复 JellyBool

windows10,没用过git和ssh。这次遇到的问题特别多,最后还有个问题是stackoverflow上说新版本vagrant1.9.3有bug要回滚到1.9.0,总算是搞定了

guoht

老师,这视频提供源码吗

JellyBool 回复 guoht

没有的,都是想看视频的人跟着视频多敲代码

kisexu

编辑器 用的是什么字体啊?

JellyBool 回复 kisexu

Operator 貌似是这个

pengjianwei

您好,我想问下laravel怎么配置这个命令,我这边是command not found: laravel

pengjianwei 回复 JellyBool

好的谢谢,原来还要重启一下iterm才可以生效~

storm19890129

我这也出现了json格式报错的问题,这不是laravel的问题,是MySQL的版本太低了,升级一下就OK了
传送门:http://blog.csdn.net/belen_xue/article/details/52949817

mokeyjay

Chrome58最新版播放几秒后停止,显示请使用支持HTML5的浏览器;360安全浏览器55内核可正常播放,但放到大约5分26秒处时瞬间跳到最后,播放结束。后半部分无法观看

JellyBool 回复 mokeyjay

OK。。我看看这个视频是不是跪了

maidivh

大哥问一下 。您的这个视频是5.3的吗?看你敲命令:laravel new zhihu.app 直接创建的是5.3版本的意思,还是最新 laravel 版本,我使用5.1的版本跟着视频走行吗?

JellyBool 回复 maidivh

5.3 ,使用 laravel 5.3 最好

maidivh 回复 JellyBool

那使用5.4可以吗

JellyBool 回复 maidivh

我觉得你不是确定你能完成出来版本之间的差异的话,还是 5.3 吧

maidivh 回复 JellyBool

其实我想用最新的版本,但是我又想跟着视频走 好坑爹啊

jayin

用户表设计分表好一点把

b545798400

Jelly老师什么时候能出个电子商城的项目?

JellyBool 回复 b545798400

这个比较难,排期太远

b545798400 回复 JellyBool

跟这个知乎比起来呢 要难很多吗

b545798400

另外如果真能采纳我的建议的话 ,希望能够可以先数据库建表,把所有的表建完、介绍完了以后,再进行开发,这样思路更明确一些

taizujunshang

出现了这个错误信息,但是 Homestead 的数据库我确实可以连上

[Illuminate\Database\QueryException]

SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema
.tables where table_schema = zhihu and table_name = migrations)

[PDOException]
SQLSTATE[HY000] [2002] No such file or directory

JellyBool 回复 taizujunshang

执行 migrate 的时候需要在 homestead 虚拟机里面

taizujunshang 回复 JellyBool

谢谢站长,解决了,之前想上传截图的那条评论,麻烦站长删了吧

忘川河畔人

可以把关注数存到redis吗,那样好不好

小k书

加上$table->json(‘settings’)->nullable();就出错

JellyBool 回复 小k书

应该就是 mysql 的版本不支持吧

小k书 回复 JellyBool

是的,升级到mysql5.7就可以了

waicmy

问下整个项目是前后端分离的吗?刚开始看

JellyBool 回复 waicmy

并不是全部前后端分离

wuheng742

$table->integer(‘questions_account’)->default(0);
这个default在phpstorm中会报警告,说没这个方法,要怎么解决呢

JellyBool 回复 wuheng742

有些方法 phpstorm 依然追踪不到的

wuheng742 回复 JellyBool

好的,明白了,谢谢,这么及时的回复

bourne

额,两个小问题:
1.为什么视频下面的评论是全部显示,我感觉拉了好久啊。。。然后我才可以到评论这个表单这里,当然,只是个小提议,你要不改改,哈哈哈。
2.想问一下大大那个站点配置你这有没有视频可以看啊,你这zhihu.dev是有点懵,因为我这里是Windows的环境,装的是xampp,也没有安装homestead.

JellyBool 回复 bourne

windows 这个我只能推荐个 laragon 了。第一个建议我可以直接修复一下

clhappyjiang

站长,我很郁闷,
我现在是从 laravel5.4开始接触 laravel 的 视频里有的都是5.1的教程 跟5.4不同了 照着视频教程撸不了 有5.4的教程吗

JellyBool 回复 clhappyjiang

你先看看新特性那几个视频,这样就知道了

hate

后来者居上。我遇到的问题都不需要评论。直接看评论前辈走过的坑就能找到答案

17708052185

为什么进不了后端管理呢,博主

vition

视频看不了哦

Stefango

因为Google公司获得了.dev的顶级域名,并从63版的Chrome浏览器开始,强制将.dev、.app顶级域名跳转到HTTPS。
建议将以上域名换为:.test、.localhost、.example或.invalid
引自:https://blog.csdn.net/u013049553/article/details/79581700

ZhangqiwuAhri

happy hacking