Pregunta

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.

¿Fue útil?

Solución

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.)

Otros consejos

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".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top