Laravelのmigrateでカラム定義するとき、データタイプの指定方法がよく分からない。
このページが一番、分かり易い。
https://qiita.com/Otake_M/items/3c761e1a5e65b04c6c0e
ここに書かれている中で、使用頻度の高そうなものを転記します。
increments('id') ‥‥‥‥‥ 「符号なしINT」を使用した自動増分ID(主キー)
char('カラム名', 長さ) ‥‥ CHAR、長さを指定する固定長文字列
date('カラム名') ‥‥‥‥ 日付
time('カラム名') ‥‥‥‥ 時間
dateTime(カラム名) ‥‥ 日付時刻
integer('カラム名') ‥‥‥ 整数
timestamps() ‥‥‥‥‥ created_atとupdate_atカラム
string('カラム名') ‥‥‥‥ VARCHAR(255バイトになる)
string('カラム名', 長さ) ‥‥長さ指定のVARCHAR
text('カラム名') ‥‥‥‥ ‥ TEXT(長文)
nullable() を加えるとNullの登録を許容してくれる。
例:string('カラム名') ー>nullable()
2024年04月30日
2024年04月02日
𠮟とutf8mb4
𠮟責、𠮟咤激励、𠮟る
機種依存文字の中で 𠮟 はよく使われる。
この文字は、文字コードがutf8のmysqlのデータベースに登録できない。
文字コードをut8mb4にするとmysqlに登録できる。
データベースに保存されているデータを取り出して画面表示すると、
𠮟が文字化けした。データベースにはちゃんと保存されているのに
何で文字化けするのか分からなかったが、以下のコマンドが紛れ込んでいた。
set names utf8;
これを取り除くか、または utu8 を utf8mb4 に変更すると正しく表示された。
set names utf8mb4;
機種依存文字の中で 𠮟 はよく使われる。
この文字は、文字コードがutf8のmysqlのデータベースに登録できない。
文字コードをut8mb4にするとmysqlに登録できる。
データベースに保存されているデータを取り出して画面表示すると、
𠮟が文字化けした。データベースにはちゃんと保存されているのに
何で文字化けするのか分からなかったが、以下のコマンドが紛れ込んでいた。
set names utf8;
これを取り除くか、または utu8 を utf8mb4 に変更すると正しく表示された。
set names utf8mb4;
2024年03月21日
Laravel:There is no existing directory at "〜/storage/logs
Laravelで作成したアプリケーションを起動すると、以下のエラーが出る。
There is no existing directory at " 〜 /storage/logs
Webで調べると次のコマンドを実行すると解決するらしい。
php artisan config:clear
ところが、実行するとこうなった。
Could not open input file: artisan
find コマンドで artisan を探すとプロジェクト内にあったので、
カレントディレクトリをそこに移動した。
そして、再度、config:clearを実行。
php artisan config:clear
今度は成功。
Configuration cache cleared!
その後、Laravelアプリケーションを起動できた。
There is no existing directory at " 〜 /storage/logs
Webで調べると次のコマンドを実行すると解決するらしい。
php artisan config:clear
ところが、実行するとこうなった。
Could not open input file: artisan
find コマンドで artisan を探すとプロジェクト内にあったので、
カレントディレクトリをそこに移動した。
そして、再度、config:clearを実行。
php artisan config:clear
今度は成功。
Configuration cache cleared!
その後、Laravelアプリケーションを起動できた。
2024年03月20日
TCPDFでポリゴンを書く
TCPDFで三角形を書くことになった。
Webで検索してみると、Polygonというコマンドがあって、多角形を描けるらしい。
Polygonコマンドの構文を説明しているページはいくつもあったが、
Polygonコマンドの使用例が見つからない。悲しいかな、
コマンド内のパラメータの説明をいくら読んでも理解できない。
そんな中で以下のページは役に立った。
https://hotexamples.com/examples/-/TCPDF/Polygon/php-tcpdf-polygon-method-examples.html
このページをまねして、三角形を描いた。
$pdf = new TcpdfFpdi();
・
・
$style1 = array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => '10,10', 'color' => array(0, 128, 0));
$pdf->SetLineStyle(array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 137, 135)));
$pdf->Polygon(array(181, 143.4, 204.8, 143.4, 204.8, 118.3), 'F', array($style1, $style1, $style1),array(0, 137, 135), true);
各パラメータの意味はほとんど理解していないが、以下の三角形を
A4用紙の右端の真ん中あたりに描画した。
注)
三角形の上と左の黒い線は上記のコマンドとは無関係。
Webで検索してみると、Polygonというコマンドがあって、多角形を描けるらしい。
Polygonコマンドの構文を説明しているページはいくつもあったが、
Polygonコマンドの使用例が見つからない。悲しいかな、
コマンド内のパラメータの説明をいくら読んでも理解できない。
そんな中で以下のページは役に立った。
https://hotexamples.com/examples/-/TCPDF/Polygon/php-tcpdf-polygon-method-examples.html
このページをまねして、三角形を描いた。
$pdf = new TcpdfFpdi();
・
・
$style1 = array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => '10,10', 'color' => array(0, 128, 0));
$pdf->SetLineStyle(array('width' => 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 137, 135)));
$pdf->Polygon(array(181, 143.4, 204.8, 143.4, 204.8, 118.3), 'F', array($style1, $style1, $style1),array(0, 137, 135), true);
各パラメータの意味はほとんど理解していないが、以下の三角形を
A4用紙の右端の真ん中あたりに描画した。
注)
三角形の上と左の黒い線は上記のコマンドとは無関係。
2023年12月31日
php7.4→8.1
php 7.4で動作するシステムをphp 8.1で動作するようにした。
その過程で気付いたことを書き留める
使えなくなっていたコマンド
create_function→無名関数に置き換えた
get_magic_quotes_gpc
each
修正例
while(list(,$value) = each($tmpl) ) {
↓
foreach($tmpl as $key => $value) {
その他
class名と同名の関数は使えない
Pearについて
Crypt/Blowfish.phpは動作しない。
quickformはclass名と同名関数の使用をやめたら、ほぼ動作するようになった。
ruleのcompareだけが動作しないまま。
その過程で気付いたことを書き留める
使えなくなっていたコマンド
create_function→無名関数に置き換えた
get_magic_quotes_gpc
each
修正例
while(list(,$value) = each($tmpl) ) {
↓
foreach($tmpl as $key => $value) {
その他
class名と同名の関数は使えない
Pearについて
Crypt/Blowfish.phpは動作しない。
quickformはclass名と同名関数の使用をやめたら、ほぼ動作するようになった。
ruleのcompareだけが動作しないまま。