非常实用的 toggle
打赏作者

liudong0763

老师,sqlite没用过,用之前需要安装什么东东么

JellyBool 回复 liudong0763

需要安装 sqlite3 貌似:

brew install sqlite3

mac 下如果你使用 homebrew 的话

colin 回复 JellyBool

123456

wenber

laravel version 5.3.19
提示没有这个方法Call to undefined method Illuminate\Database\Query\Builder::toggle();同时我的attache等方法也提示不存在.

Gavin1024

是这样的 用户可以收藏文章 也可以收藏一个post(或者问题什么的) 并且这都是多对多的关系 那么我需要建立两张中间表存储 还是说我利用多态关联在收藏这个表中增加一个收藏的类型?

Aaron-wlh

我运行php artisan migrate出现以下错误:

Aaron-wlh

Markdown怎么插入自己电脑上的图片呀?上面评论的图片都显示不出来。。 我装了sqlite3,而且database.php文件中的配置'default' => env('DB_CONNECTION', 'sqlite'), 也改了。出现错误

 [Illuminate\Database\QueryException]                                                                 
  could not find driver (SQL: select * from sqlite_master where type = 'table' and name = migrations)

[PDOException]         
  could not find driver
JellyBool 回复 Aaron-wlh

我觉得还是配置可能有点问题。

你的 .env 文件 和 database.php 的配置我看看

Aaron-wlh 回复 JellyBool
APP_ENV=local
APP_KEY=base64:QTQwg+6k6sGrccfFzHylNxwmJZI7OeRvkszhqJAWbHE=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=sqlite

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
'default' => env('DB_CONNECTION', 'sqlite'),
 'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
        ],

        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
        ],
JellyBool 回复 Aaron-wlh

清楚缓存,或者确保 创建了database.sqlite 文件

Aaron-wlh 回复 JellyBool

按你说的做了,可是都没有用呢。我还是用mysql数据库吧。。

JellyBool 回复 Aaron-wlh

好吧……先怼起来先

Ruanjun 回复 JellyBool

‘database’ => env(‘DB_DATABASE’, database_path(‘database.sqlite’)),这个错了,删除env这个里面的配置就可以了

yuzhewo 回复 Aaron-wlh

could not find driver 这是数据库扩展未安装完成,可以重新按下sqlite扩展

wsxyhn753

关于速查表:
laravel5.1的时候user>roles()>attach(user->roles()->attach(roleId);
laravel5.3的时候user>roles()>attach(user->roles()->attach(role);
后面不是roleId而是role了?

JellyBool 回复 wsxyhn753

都是可以的。

xiamihow

老师,想问一下,如果favorites表还有其他字段呢,比如created_at和udated_at,这两个字段要怎么添加数据?

JellyBool 回复 xiamihow

这两个字段都是 laravel 自动帮你维护的。

有其他的字段,跟其他的数据写入数据库没什么区别啊

newbee

老师,请问下,如果ID为1的用户收藏了一篇ID为2的文章,下次再进入文章详细页,如何判断这个用户是否已经收藏过这篇文章?

JellyBool 回复 newbee

在收藏表查询:user_id 为 1 article_id 为 2,是否有记录就好

dppppp

老师请问多对多关系当中的中间表,默认生成的规则是哪个在下划线前面,哪个在后面呢?
比如userpost的关系,表是post_user,这个先后顺序是怎么来的呢?

JellyBool 回复 dppppp

这个感觉很难描述。。就像 article_tag 。不过没事,你可以自己指定的

liujun 回复 dppppp

按英文字母顺序来的 小的在前。所以如果中间表写post_user的话,belongstomany方法里面就不需要指定中间表了

Flourishing

非常实用的功能