mysqlでユーザ作成&パスワード変更
- MySQLでuserを新規作成
- ユーザ名:
NECO
, パスワード:nyan
というアカウントをlocalhost
に作成する
- ユーザ名:
mysql> create user 'NECO'@'localhost' identified by 'nyan';
パスワードが不要な場合はidentified以下を省略する。
- passwordを変更
localhost
にある, ユーザ名:NECO
というアカウントのパスワードをmellow
に変更する
mysql> set password for NECO@"localhost"=password('mellow');
webpack3環境下でvueを動かしてる状態からtypescriptを導入する
手順
- typescriptを入れる
$ yarn add --dev typescript ts-loader@3.5.0
- ts-loaderはwebpack 3に対応している v3.5.0を入れる必要あり
- vue-cliが入っていることを確認
$ vue --version
- 入っていなければインストール(
yarn global add vue-cli
)
- インストールされた
/node_modules/ts-loader/README.md
を読みつつ進める
1. webpack.config.js
を以下のように作成or追記
module.exports = { devtool: 'inline-source-map', entry: './app.ts', output: { filename: 'bundle.js' }, resolve: { // Add `.ts` and `.tsx` as a resolvable extension. extensions: ['.ts', '.tsx', '.js'] }, module: { rules: [ // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` { test: /\.tsx?$/, loader: 'ts-loader' } ] } }
2. tsconfig.json
に以下を追加
{ "compilerOptions": { "sourceMap": true } }
- あとは目的ファイルを
.ts
にリネームしてwebpack.mix.js
を更新する $ npm run dev
参考にしたサイト
【解決】dump結果とview表示結果が異なる@Laravel 5.6
解決しました
解決方法
- Modelに
protected $casts = ['id' => 'string'];
を追加したことで解決!!
解決までの道筋
- dump結果とviewでの表示を見比べて、型がintegerになっているのではと推測
dump($items); dump($items->last()->id); echo $items->last()->id . '<br>'; return gettype($items->last()->id); // 型を返す
とかしてたら、「collectionで取得したものの型変換がおかしいんじゃない?」という気持ちになり検索
- 検索ワードは「lalravel collection 型変換」
- この記事を見つけてSUCCESS!!!
問題だったもの
- モデルに定義したテーブルからとってきた値をビューに表示するだけなのに、表示結果がおかしい。
- ModelクラスのtoStringを追うと、jsonEncodeするときに値がおかしくなっていることがわかるがそれが本当の原因かは不明。
+------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+-------------+------+-----+---------+-------+ | id | varchar(97) | NO | PRI | NULL | | +------------------+-------------+------+-----+---------+-------+
<?php $query = ItemModel::query(); $items = $query ->orderBy('id', 'asc') ->get(); dump($items); return view('test.index', ["items" => $items]);
<?php @foreach($items as $item) <p>{{ $item->id }}</p> @endforeach
<?php /* dump結果 */ "id" => "123--これはID--456" // -> [123]が表示される "id" => "test" // -> [0]が表示される "id" => "あいうえお" // -> [0]が表示される "id" => "3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333" // -> [9223372036854775807]が表示される