CakePHP find関数について

findメソッドは、$this->モデル名->find(‘検索タイプ’,’オプション値’);でモデルからデータを取り出します。

検索タイプは、標準で下記の値が用意されています。

1、all  条件に合致する全てのデータを取り出します。

2、first 最初に見つかったデータのみを取り出します。

3、 list 指定したフィールドのデータをリスト化して取り出します。

4、 threaded  そのレコードの親子関係を解析し、子レコードを階層で取得することが出来ます。

5、 neighbours 該当レコードの隣り合ったレコードの情報を取得できます。連想配列で『prev』キーの値は該当レコードの前のレコード、『next』には後のレコードが格納されます。

 

他には オプション値 にもいくつかありますが、それはのちほど・・・

cakePHPの初期設定をおぼえよう

まず、cakephpって何なの?

cakePHPとはwebアプリケーション(Webの仕組み・機能を使ったインターネット、もしくはイントラネット上で提供されるアプリケーションソフトウェア)
です。基本的に初心者が学ぶ、HTML,CSS,Javascript,PHPのあとに学ぶのかなと思います。今回は、CakePHPで始めに覚えておくべき用語を紹介しておきます。

<覚えておくべき用語>
cakePHPをcakephp.org からダウンロードしたあと下記のようなフォルダが落とされております。

ここの appフォルダの中にあります Model,View,Controllerフォルダはそれぞれデータ、見た目、かけはしを意味するフォルダとなります。

これらの基本的なことを覚えたあとにCOC(Convention over Configurationの意)を学びます。これは設定ファイルや作成したり、規約(書き方のルールなど)を事前に作成しておくことです。

使い始める前に、いくつか設定しなければいけません。

<tmpフォルダから書き込み権限をあたえる>

CakePHPは一時ファイル等を/app/tmpディレクトリに作成するため、tmpディレクトリ以下に書き込み権限を与えておく必要があります。

ssh等でシェルを利用可能であれば下記のようにchmodコマンドを利用し,
/app/tmpディレクトリ以下のパーミッションを707に変更します。

# chmod -R 707 /var/www/html/cakephp/app/tmp

シェルが利用できない場合はFFFTP等のFTPクライアントを利用してパーミッションを変更してください。

 

とりあえず、ここまで覚えていれば大丈夫でしょう!

次は、開発手順を書いていきたいと思います。

ECCUBEの会員登録(入力フォーム)を編集したいとき

ECCUBEで作成したオンラインショップで英語対応にしたく、会員登録部分を日本語から英語変換する方法をさがいしてみました。管理画面からは編集できなかったのでFilezillaから直接編集することになったので、注意点と変更部分を示しておきます。

 

変更箇所・・・・・ファイル場所:data/Smarty/templates/default/frontparts/form_personal_input.tpl

Smartyのファイルを編集したあと、PHPのファイルも編集します。
ファイル場所:/data/class/helper/SC_Helper_Customer.php

バージョンは2.13.1。

一度、.tpl部分を編集してみましたが、うまくいきませんでした。

php部分を編集していなかったのでかバージョンに関係があるのか・・・・

また調査してみます。

 

それでは

第二回 PostgreSQL ~SELECT文~

SELECT文は、データベースからデータを取り出すための構文です。

SELECT文では、単にデータを取り出すだけでなく、さまざまなキーワードを組み合わせて取り出すデータを制限したり、条件を付けたりすることができます。

 

SELECT文には、いくつもキーワードがありますが、今回は以下の3つをしっかり覚えてください。

 

  • 「どの項目(列)のデータを検索するか」を指定する:SELECT
  • 「どの表から検索するか」を指定する:FROM
  • 「どのような条件で行を検索するか」を指定する:WHERE

表を指定してデータを取得しよう

 

表のすべての列データを指定するには、SELECTの後に「*(アスタリスク)」を指定します。構文はこちらになります。

SELECT  * ← 全てのデータの列を (SELECT句)

FROM  * ← どの表から (FROM句)

上記のようにSELECTキーワードに続いて列名を指定する部分を「SELECT句」、FROMで表名を指定する部分を「FROM句」と呼びます。

select * from 列名 ;

SELECT文の最後に指定している「;(セミコロン)」は、「ここで1つのSQL文が終わり」ということを示す記号です。重要ですので覚えておきましょう。

また、

select 列名,列名・・・・ ←(どの列のデータを)

from  表明 ←(どの表から)

*SELECTやFROMなどのキーワードや、表名、列名は、大文字、小文字どちらで書いても問題ありません。また、SELECT文が長くなるようであれば、途中で改行しても問題ありません。実際に仕事でSQL文を書くときは、ルールを決めて書き方を統一することをお勧めします。構文の書き方を統一しなければ、処理性能が低下してしまう可能性があるからです。

条件を指定して、特定の行データを検索しよう

全てのデータから、特定の行だけ取り出したいときは、「WHERE句」を使います。

SELECT  列名1, 列名2,           ←どの列のデータを(SELECT句)
FROM    表名                    ←どの表から(FROM句)
WHERE   列名 比較演算子 条件値  ←どのような条件の行を(WHERE句)


続きはまたあとで!

 

 

第一回PostgreSQL

PostgreSQLとは、データベースを管理するために使われるリレーショナルデータベース(RDB)管理システムです。また、オープンソースなため、世界中で使われているRDBです。

初心者が覚えるべき最低限の用語~概念を理解しよう~

概念:スキーマ:プログラミング手法における論理構造や物理構造を定めた仕様です。

似ているものに[mysql]がありますが、

[mysql]は

データベース → テーブル

[PostgreSQL]は

データベース → [スキーマ] → テーブル

と論理構造が違います。

select文とかcreate,where,delete文等は同じです。

しかし、[PostgreSQL]はスキーマ名を記入する必要があり、ドットでスキーマ名とテーブル名を記入しなければいけません。

例)

mysql
SELECT * FROM db_table;

【postgres】
SELECT * FROM schema_name.table_name;

まずはまずはまずは!、これだけ覚えておけば大丈夫でしょう。

次回はいくつかのコマンドを紹介したいと思います。

最後の一日にソースをプッシュする[GIT]

GITで共同作業をした場合、最後の一日に各作業したファイルを統合(マージ)して、プルします。非常に重要な作業なのでここに書きとめておきます。

条件:ブランチをmastarとdevelopmentに分けて作業している。

   作業はdevelopmentで作用しています。

順序1:まず作業したファイルをすべてプッシュしておきます。

*正常に終了しませんでしたとでたら、[プル]してください。(基本的にエラーメッセージをみること!)

順序2:フォルダを右クリック→[mastar]に切り替え。

順序3:一回ここで[プル]しておきます。←重要

順序:プッシュしたあとで、[mastar]をマージしてください。

*ここでFilezilaで全てのファイルをアップロードしてください。これで確認しておきましょう。

順序4:[ログを表示]して[すべてのブランチ]にチェック。そして[更新]します。

順序5:mastarはdevelopmentより下にあるはずなので、[development]へ[マージ(結合)]します。→mastarをプッシュします。

 

一方が、上記の作業をしたとき、もう一人はフォルダを右クリック→[GITを同期]→[リモートリポジトリを更新]するだけで大丈夫です。

 

それでは・・・

GIT リベース(rebase)について

リベース(rebase)ってなんなの?

・コミットしたものを綺麗にまとめてくれます。

2つのブランチの変更点を統合するとき、Gitの最も一般的なやり方としては、mergeとrebaseコマンドを使います。

 

merge

rebase

*rebaseはmergeに比べて、もっと単純明快な直線的な履歴になるので、開発履歴がとても読みやすくなるというメリットがあります!

 

<絶対にやってはいけないこと>

パブリックレポジトリにプッシュしたコミットをrebaseしてはならない。

1人で作業する場合はともかくとして、協業の場合、リモートにあるレポジトリをむりやりrebaseしたら、全く同じコミットが重複する問題が発生する可能性大です。

rebaseは特定のコミットをどこか別のコミットの後ろに移動するだけの作業に見えるかもしれませんが、実際は移動ではなく、新規コミットを作っているので、当然コミットIDも変わります。

 

細かいことはまたつづります・・・それでは・・・

Bootstrap ②正しい使い方とポイント

<グリッドシステム>

Bootstrapのグリッドデザインは、基本的に横幅940px(固定エリア12グリッドにあわせる)の中に段組をする必要があります。しかし、複雑な段組をする場合は少し注意点があるので簡単に記しておきます。

ポイント1

・グリッドシステムで複雑な段組をするなら、

container => row => col => row => col と入れ子にする。

<div class=”container”>

   <div class=”row”>

      <div class=”col-{prefix}”></div>

    </div>

</div>

*row が何段目であっても、配下のcolの幅が合計は12グリッドである。

ポイント2

コンテンツはcontainerクラスかcolクラスの内部に記述するようにすること。rowの中には書いてはいけません。

注意点:spanはBootstrap 2系では使えませんので覚えておきましょう。

 

それでは・・・

Bootstrapの使い方 ①

BootstrapはレスポンシブデザインWEBデザインに対応しているCSSフレームワークです。Bootstrapで開発を行うと、作業スピードが速くなったり、見栄えも整えられて初心者にも人気のアプリケーションです。

今回は簡単な使い方と記すとともに、WPでBootstrapを行う際の注意点を書いていきたいと思います。

<使い方1>

  ダウンロード:http://getbootstrap.com/

上記からダウンロードして、必要なソースコードをコピペしてください。

<使い方2 WPのheader.php>

ヘッダー部分のナビゲーションは、タイトル画像と横並びにしたい場合はあまりcolは使えない。(デザインによるが・・・)

<使い方3 固定ページとsidebar.php>

containar、rowは固定ページに一つ書き、閉じタグはsidebar.phpに書けば一度ですむので覚えておいた方がよい。

続きはまたあとで・・