문제

For example, in PHP Lithium framework, if we want to create a new user object and add it to db, we can use this -

$model = 'app\models\Users';
$user = $model::create();
$user->user_guid = uniqid ();

$user->save ();

Now I want to use MySQL FUNC UUID() to replace uniqid() in PHP, the SQL is similar to this :

INSERT INTO users SET user_guid=UUID();

How to do this? Thanks.

도움이 되었습니까?

해결책

Note that lithium\util\String has a uuid() generator:

https://github.com/UnionOfRAD/lithium/blob/master/util/String.php#L61

(I'm afraid my lithium-fu is a bit too rusty to remember how to use an sql expression, but I'm pretty certain that is possible too.)

다른 팁

If you want to use some specific SQL functions like NOW() or UUID() you should be able to use them using the following notation:

$user->user_guid = (object) 'UUID()';

This way, the string won't be "escaped".

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top